我正在尝试解包.tweet-details
并将其附加到.tweet-text
。以下是我到目前为止所得到的但由于某些原因.tweet-details
没有解开。
<p class="tweet-text">This is a tweet.</p>
<p class="tweet-details"><a href="/">- Mar 21</a></p>
jQuery('.tweet-details').unwrap().appendTo('.tweet-text');
我错过了什么?
答案 0 :(得分:3)
unwrap方法删除调用它的元素的父元素。正如documentation所说:
&#34;从DOM中删除匹配元素集的父元素,将匹配的元素留在原位。&#34;
您可能只需要这样做:
$ ('.tweet-details').find('a').unwrap().appendTo('.tweet-text');
答案 1 :(得分:1)
jQuery unwrap()从DOM中删除元素的父级。阅读本文
.unwrap()方法删除元素的父级。这实际上是.wrap()方法的反转。匹配的元素(以及它们的兄弟,如果有的话)在DOM结构中替换它们的父节点。
因此,如果tweet-text
是它的兄弟,那么它在DOM中就不再存在了所以你必须在解包操作之前先存储它的引用。做这样的事
var $a = $('.tweet-text');
$('.tweet-details').unwrap().appendTo($a);
请参阅此屏幕截图,其中显示了其正常工作
答案 2 :(得分:0)
如果您只查找内容而没有HTML标记,则可以使用text()
:
var details = $('.tweet-details').text();
$('.tweet-text').append(details);
$('.tweet-details').hide();