復制一個” <p>p元素</p>“到h2下面,怎么不會被包裹起來?
<body>
? ? <h2>DOM包裹wrapAll()方法</h2>
? ? ?<p>p元素</p>//問題:為什么這個P不會被包裹起來呢?
? ? <div class="left">
? ? ? ? <div class="aaron1">點擊,通過wrapAll方法給所有P元素增加父容器div</div>
? ? ? ? <div class="aaron2">點擊,通過wrapAll的回調方法給每個a元素增加父容器div</div>
? ? </div>
? ? <div class="right">
? ? ? ? <p>p元素</p>
? ? ? ? <p>p元素</p>
? ? </div>
? ? <div class="left">
? ? ? ? <a>a元素</a>
? ? ? ? <a>a元素</a>
? ? </div>
? ? <script type="text/javascript">
? ? $(".aaron1").on('click', function() {
? ? ? ? //給所有p元素,增加父容器div
? ? ? ? $('p').wrapAll('<div></div>');
? ? })
? ? </script>
? ? <script type="text/javascript">
? ? $(".aaron2").on('click', function() {
? ? ? ? //wrapAll接受一個回調函數
? ? ? ? //每一次遍歷this都指向了合集中每一個a元素
? ? ? ? $('a').wrapAll(function() {
? ? ? ? ? ? return '<div></div>'
? ? ? ? })
? ? })
? ? </script>
</body>
2016-08-18
我知道了,因為wrapAll()會將所有匹配元素移動到第一個匹配元素的位置再進行包裹,將”?<p>p元素</p>“復制到h2下面不是沒有被包裹,而是所有的p都移到h2下面去了,不在”<div class="right">? </div>“內部了,沒了.right的樣式,我看不到了而已。。。好尷尬的自問自答