jQuery:删除父标记而不是父标记的子标记

时间:2012-02-09 10:45:03

标签: javascript jquery html dom

我正在尝试删除父标记, 但删除父标记不应删除其子元素。 孩子应该附上以前的标签

以下是代码:

<div class="mask">
   <ul id="TickerT" class="news">
       <ul class="tweet_list">
        <li class="first odd">
<span class="tweet_time">about 8 minutes ago</a></span>
<span class="tweet_join"></span>
<span class="tweet_text">test test…</a></span> {
{1}}
       </li>
    </ul>
  </ul>
</div>

至少有5 </div>,现在我要删除<li> 我已经尝试过jQuery的replaceWith,但没有结果。

这是我在网站上使用的代码
var jj = $(“ul.tweet_list”)。contents()
$(“。tweet_list”)。replaceWith(jj);

但这没效果。

我想要的是删除<ul class="tweet_list">中的<ul class="tweet_list">而不是<li>


帮助表示感谢,谢谢......

4 个答案:

答案 0 :(得分:5)

您可以在列表项上调用unwrap()方法:

$("ul.tweet_list > li").unwrap();

这将删除.tweet_list <ul>元素并重新显示<li> #TickerT元素下的<ul>元素(及其兄弟姐妹,如果有的话)。< / p>

答案 1 :(得分:2)

只需使用.unwrap()方法:

$('.tweet_list').children().unwrap();

DEMO

答案 2 :(得分:0)

您可以将.html()内容和要删除的列表的父级ul保存到变量中,然后将.html()添加到父级ul。

答案 3 :(得分:0)

var jj = $("ul.tweet_list").html()
$("ul.tweet_list").replaceWith(jj)

jquery上没有内容方法。试试html方法。