append、appendTo、prepend、prependTo、before、insertBefore、after、insertAfter、replaceAll方法被調用後,原本在頁面上顯示的元素會消失

來源:互聯網
上載者:User

標籤:頁面   bsp   .com   replace   解決   pen   class   taf   賦值   

詳細描述:

  $ele.append、.appendTo、.prepend、.prependTo、.before、.insertBefore、.after、.insertAfter、.replaceAll  這些方法調用之後,如果被添加的那個對象是頁面上原有的對象,當調用這些方法後,原有的那個對象會消失,在新的地方出現(注意:這裡的對象是jQuery對象)

現象:

  代碼:

<body>        <ul>            <li>num:1</li>            <li>num:2</li>            <li>num:3</li>            <li>num:4</li>            <li>num:5</li>        </ul>        <script>            var $li = $("<span>~~標籤~~</span>")            $li.appendTo($("li"));            $("li:gt(2)").append($li);        </script>    </body>

  

  問題:

    為什麼num5後面沒有添加兩個span標籤

  原因:

    $ele.append、appendTo、prepend、prependTo、before、insertBefore、after、insertAfter、replaceAll
    如果被添加的那個對象是頁面上原有的對象,當調用這些方法後,原有的那個對象會消失,在新的地方出現(注意:這裡的對象是jQuery對象)

  解決方案:

1.第一行:建立標籤;第二行:將標籤封裝成jQuery對象並添加;第三行:將標籤直接添加到對應的jQuery對象中    var li = "<span>~~標籤~~</span>";    $(li).appendTo($("li"));     $("li:gt(2)").append(li);            2.第一行:建立一個jQuery對象;第二行:將對象添加;第三行:給$li重新賦值,值為一個未在頁面上顯示的對象(因此不考慮消失的問題);第四行:將重新賦值的$li進行添加操作    var $li = $("<span>~~標籤~~</span>");    $li.appendTo($("li"));    $li = $("<span>~~標籤~~</span>");    $("li:gt(2)").append($li);

 

append、appendTo、prepend、prependTo、before、insertBefore、after、insertAfter、replaceAll方法被調用後,原本在頁面上顯示的元素會消失

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.