jQuery遍歷之a(chǎn)dd()方法
jQuery是一個合集對象,通過$()方法找到指定的元素合集后可以進行一系列的操作。$()之后就意味著這個合集對象已經(jīng)是確定的,如果后期需要再往這個合集中添加一新的元素要如何處理?jQuery為此提供add方法,用來創(chuàng)建一個新的jQuery對象 ,元素添加到匹配的元素集合中
.add()的參數(shù)可以幾乎接受任何的$(),包括一個jQuery選擇器表達式,DOM元素,或HTML片段引用。
簡單的看一個案例:
操作:選擇所有的li元素,之后把p元素也加入到li的合集中
<ul>
? ?<li>list item 1</li>
? ?<li>list item 3</li>
</ul>
<p>新的p元素</p>
處理一:傳遞選擇器
$('li').add('p')
處理二:傳遞dom元素
$('li').add(document.getElementsByTagName('p')[0])
還有一種方式,就是動態(tài)創(chuàng)建P標簽加入到合集,然后插入到指定的位置,但是這樣就改變元素的本身的排列了
$('li').add('<p>新的p元素</p>').appendTo(目標位置)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> .left { width: auto; height: 150px; } .left div { width: 150px; height: 120px; padding: 5px; margin: 5px; float: left; background: #bbffaa; border: 1px solid #ccc; } </style> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <h2>add方法()</h2> <div class="left first-div"> <div class="div"> <ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> </ul> <p>新的p元素</p> </div> </div> <div class="right"></div> <br/> <button>點擊:add傳遞元素標簽</button> <button>點擊:add傳遞html結(jié)構(gòu)</button> <script type="text/javascript"> $("button:first").click(function() { //把p元素添加到li的合集中 $('li').add('p').css('background', 'red') }) </script> <script type="text/javascript"> $("button:last").click(function() { //把html結(jié)構(gòu)'<p>新的p元素</p>' //加入到li的合集中,為了能夠在頁面上顯示 //需要再重新appendTo到指定的節(jié)點處 //值得注意:整個結(jié)構(gòu)位置都改變了 $('li').add('<p>新的p元素</p>').appendTo($('.right')) }) </script> </body> </html>