1. 程式人生 > >jquery DOM 創建、插入、刪除

jquery DOM 創建、插入、刪除

png 兄弟節點 div listener mage ron reat ... fun

1.創建元素節點:

$("<div></div>")

2.創建文本節點,與創建元素節點類似,可以直接把文本內容一並描述

$("<div>我是文本節點</div>")

3.創建屬性節點:與創建元素節點同樣的方式

$("<div id=‘test‘ class=‘aaron‘>我是文本節點</div>")
$("<div class=‘right‘><div class=‘aaron‘>動態創建DIV元素節點</div></div>") //一句話創建元素、文本、屬性節點

jquery較簡潔,而如果用javascript,則代碼比較多

jquery:

    var $body = $(‘body‘);
    $body.on(‘click‘, function() {
    //通過jQuery生成div元素節點
      var div = $("<div class=‘right‘><div class=‘aaron‘>動態創建DIV元素節點</div></div>")
      $body.append(div)
    })



  
javascript:

  var body = document.querySelector(‘body‘); // document.addEventListener(‘click‘,function(){ // //創建2個div元素 // var rightdiv = document.createElement(‘div‘) // var rightaaron = document.createElement("div"); // //給2個div設置不同的屬性 // rightdiv.setAttribute(‘class‘, ‘right‘) // rightaaron.className = ‘aaron‘ // rightaaron.innerHTML = "動態創建DIV元素節點"; // //2個div合並成包含關系 // rightdiv.appendChild(rightaaron) // //繪制到頁面body // body.appendChild(rightdiv) // },false)

二、DOM內部插入append() 和 appendTo()

 .append()和.appendTo()兩種方法功能相同,主要的不同是語法——內容和目標的位置不同

append()  前面是被插入的對象,後面是要在對象內插入的元素內容 body.append(div)
appendTo()前面是要插入的元素內容,而後面是被插入的對象  div.appendTo(body)

$(".content").append(‘<div class="append">通過append方法添加的元素</div>‘)

$(‘<div class="appendTo">
通過appendTo方法添加的元素</div>‘).appendTo($(".content"))

三、DOM外部插入after() 與 before()

技術分享

  • before與after都是用來對相對選中元素外部增加相鄰的兄弟節點
  • 2個方法都是都可以接收HTML字符串,DOM 元素,元素數組,或者jQuery對象,用來插入到集合中每個匹配元素的前面或者後面
  • 2個方法都支持多個參數傳遞after(div1,div2,....)

註意點:

  • after向元素的後邊添加html代碼,如果元素後面有元素了,那將後面的元素後移,然後將html代碼插入
  • before向元素的前邊添加html代碼,如果元素前面有元素了,那將前面的元素前移,然後將html代碼插入
<div>
    <p id="btn">點擊在前插入</p>
</div>
$("#btn").on("click", function(){
   $("#btn").before("<h1> 我是before</h1>")      
})

四、DOM內部插入 prepend() 與 prependTo()

技術分享

跟append()與appendTo() 方法一樣

區別是 append()與appendTo() 默認加到子元素的後面, 即排到子元素隊伍後面;而 prepend() 與 prependTo() 是排在隊伍前面

  • append()向每個匹配的元素內部追加內容
  • prepend()向每個匹配的元素內部前置內容
  • appendTo()把所有匹配的元素追加到另一個指定元素的集合中
  • prependTo()把所有匹配的元素前置到另一個指定的元素集合中

五、DOM外部插入 insertAfter insertBefore

與 before() , after() 方法類似

$(‘<p style="color:red">測試insertBefore方法增加</p>‘, ‘<p style="color:red">多參數</p>‘).insertBefore($(".test1")) //插入到test1 前,兩者是兄弟關系
$(‘<p style="color:red">測試insertAfter方法增加</p>‘, ‘<p style="color:red">多參數</p>‘).insertAfter($(".test2"))// 插入到test2 後,兄弟關系

六、DOM節點刪除 empty()

empty 顧名思義,清空方法,但是與刪除又有點不一樣,因為它只移除了 指定元素中的所有子節點。

<div id="test">
      <p>p元素1</p>
      <p>p元素2</p>
</div>
$("#test").empty(); // 只剩下<div id="test"></div>

七、刪除 remove()

<div class="test1">
        <p>p元素1</p>
        <p>p元素2</p>
    </div>

 $(".test1").remove(); //刪除整個 class=test1的div節點
 $("p").remove(":contains(‘2‘)"); // 刪除p元素集合中中文本包含數字2 的p元素

empty方法

  • 嚴格地講,empty()方法並不是刪除節點,而是清空節點,它能清空元素中的所有後代節點
  • empty不能刪除自己本身這個節點

remove方法

  • 該節點與該節點所包含的所有後代節點將同時被刪除
  • 提供傳遞一個篩選的表達式,刪除指定合集中的元素

jquery DOM 創建、插入、刪除