上一篇文章是記錄了jquery中選擇器的做用,這裏只要記錄下jquery中的DOM操做,仍是按照上篇的格式來。css
下面是測試用的html代碼,接下來DOM的操做會在下面的代碼下進行。html
1 <body> 2 <p>你最喜歡的水果是?</p> 3 <ul> 4 <li>蘋果</li> 5 <li>橘子</li> 6 <li>梨子</li> 7 <li>banana</li> 8 </ul> 9 </body>
1 <script> 2 $(function(){ 3 var $newLi1 = $("<li>桃子</li>")//$(html),會根據傳入的html建立一個DOM對象而且加工成jQuery對象後返回。; 4 var $newLi2 = $("<li>西瓜</li>");//上面這種方法傳入的html格式是須要閉合的,而且標籤是須要小寫的。能夠傳入$("<li />") 5 var $newLi3 = $("<li title='獼猴桃'>獼猴桃</li>")//若是在在建立的html中包含屬性或者特性也會體如今建立好的元素中 6 var $newLi4 = $("<li data-name='xwt'>葡萄</li>") 7 var $ul = $("ul"); 8 $ul.append($newLi1);//append方法是向每一個匹配的元素內部追加內容(在結束標籤的前面添加內容,添加的內容被元素包圍) 9 $newLi2.appendTo($ul);//appendTo是將因此匹配的元素追加到傳入元素的內部。和上面的方法大體相同,只是兩個元素的位置改變了。 10 $ul.prepend($newLi3);//prepend將匹配的元素頭部追加元素。另外同append相同 11 $newLi4.prependTo($ul);//prependTo將匹配的元素追加到傳入的元素中。其餘同appendTo 12 $ul.after($("<button>測試</button>"));//after是在指定元素的後面(不是內部)添加相關的元素;insertAfter()方法顛倒了2個對象的位置。 13 $("button").before("<button>測試1</button>");//特別注意:以上的每一個插入對象的方法(如append,prepend,after,before)參數能夠是jquery對象,即$("XXX"),也能夠是普通文本。 14 $("<p>123</p>").insertBefore("button:first");//若是文本符合html語法,則建立相應的element,不然以文本插入 15 $("li:first-child").after($("li:nth-child(2)"));//若是是操做已有的節點,這些方法也能夠用於元素的移動。也可寫成.after("li:nth-child(2)") 16 var $lastLi = $("ul > li:last").remove();//移除最後一個ul中的li節點。若是不傳參數則刪除所有匹配的元素集合。刪除後返回引用remove以前的對象,包含刪除的元素。 17 var $lastSecondLi = $("ul > li").detach(":last");//使用方法和remove基本相同。可是detach不會刪除元素已經綁定的函數和附加數據 18 $lastSecondLi.appendTo($ul);//添加回去刪除的倒數第二個元素 19 $ul.append($lastLi);//將已經刪除掉的li元素從新添加回來。若是以前該元素綁定過函數或者附加數據,從新添加回去之後函數綁定失效,丟失附加數據 20 $("ul > li:first").appendTo($ul);//appendTo方法簡化上面2部。原理相同,先刪除指定元素在添加回去 21 $("button").empty();//empty()並非刪除節點,而是清除元素的全部後代節點 22 var $ul2 = $("ul").clone();//克隆當前的元素對象,可是該對象和克隆的對象是徹底不一樣的2個對象。包括裏面封裝的DOM元素也是不用的。若是想複製其綁定事件,則用XX.clone(true); 23 $("button").replaceWith($("<input type='checkbox'>"));//用括號中的元素替換前面的元素。綁定的事件會失效。replaceAll做用相同,顛倒2個元素的位置而已 24 $("li").wrap("<strong></strong>");//會爲每一個匹配的元素在外層包裹一個strong標籤 25 $("li").wrapAll($("<div></div>"));//會爲匹配到的全部元素一塊兒在外層包裹一個div。若是被包裹的多個元素之間有其餘元素則會被放到包裹元素以後 26 $("li").wrapInner("<span></span");//會爲每一個匹配中的元素的子節點外邊包裹一層標籤 27 }); 28 </script>
操做DOM元素的主要方法和功能都在註釋中詳細說明了。這裏尚未介紹jquery操做屬性和css等相關方法,下次有空再記錄下。jquery