jQuery遍歷之add()方法

jQuery是一個合集對象,透過$()方法找到指定的元素集合後可以進行一系列的運算。 $()之後就表示這個合集物件已經是確定的,如果後製需要再往這個合集中加入一新的元素要如何處理? jQuery為此提供add方法,用來建立一個新的jQuery對象 ,元素加入到符合的元素集合中

.add()的參數可以幾乎接受任何的$(),包括一個jQuery選擇器表達式,DOM元素,或HTML片段引用。

簡單的看一個案例:

操作:選擇所有的li元素,之後把p元素也加入到li的合集中

<ul>
   <li>list item 1</li>
   <li>list item 3</li>
</ul>
<p</li>
</ul>

<p<新的p. p>

處理一:傳遞選擇器

$('li').add('p')

##處理二:傳遞dom元素


$('li').add(document.getElementsByTagName('p')[0])

還有一種方式,就是動態建立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结构</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结构'<p>新的p元素</p>'
         //加入到li的合集中,为了能够在页面上显示
         //需要再重新appendTo到指定的节点处
         //值得注意:整个结构位置都改变了
         $('li').add('<p>新的p元素</p>').appendTo($('.right'))
    })
    </script>
</body>

</html>

####
繼續學習
||
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; 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结构</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结构'<p>新的p元素</p>' //加入到li的合集中,为了能够在页面上显示 //需要再重新appendTo到指定的节点处 //值得注意:整个结构位置都改变了 $('li').add('<p>新的p元素</p>').appendTo($('.right')) }) </script> </body> </html>