【问题标题】:jQuery : Removing parent tag not the child of that parentjQuery:删除父标签而不是该父标签的子标签
【发布时间】:2012-02-09 10:45:02
【问题描述】:

我正在尝试删除父标签, 但删除父标签不应删除其子元素。 孩子应该附加上一个标签

下面是代码:

<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>
</li>
</ul>
</ul>
@ 987654333@
</div>

至少有 5 个<li>,现在我想删除<ul class="tweet_list">
我用 jQuery 的replaceWith 试过了,但没有结果。

这是我从网站使用的代码
var jj = $("ul.tweet_list").contents()
$(".tweet_list").replaceWith(jj);

但这没有用。

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


帮助感谢,谢谢..

【问题讨论】:

标签: javascript jquery html dom


【解决方案1】:

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

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

这将删除.tweet_list <ul> 元素并在#TickerT <ul> 元素下重新设置<li> 元素(及其兄弟元素,如果有的话)。

【讨论】:

    【解决方案2】:

    只需使用.unwrap() 方法:

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

    DEMO

    【讨论】:

      【解决方案3】:
      var jj = $("ul.tweet_list").html()
      $("ul.tweet_list").replaceWith(jj)
      

      jquery 上没有 content 方法。试试html方法。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2020-07-23
          • 2014-09-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-28
          • 1970-01-01
          • 2020-05-16
          • 2021-10-03
          相关资源
          最近更新 更多