javascript - 删除 html 标签但保留内部 html

标签 javascript jquery html css

我有一个导航菜单,它有一个大型菜单。它有几个标记使其成为一个大型菜单。但是我想在小视口(viewport)中删除一些标记。

所以我的标记是

<ul class="megamenu-wrapper">
 <li>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">Abort</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
 </li>
 <li> 
    <ul>   
        <li><a href="#">gang</a></li>
        <li><a href="#">menu</a></li>
        <li><a href="#">food</a></li>
    </ul>
 </li>
</ul>

我想要什么

<ul class="megamenu-wrapper">

        <li><a href="#">Home</a></li>
        <li><a href="#">Abort</a></li>
        <li><a href="#">Contact</a></li>

        <li><a href="#">gang</a></li>
        <li><a href="#">menu</a></li>
        <li><a href="#">food</a></li>

</ul>

我有两个大型菜单包装器

我尝试过的

var megaContents = $('.megamenu-wrapper li ul').contents();
    $('.megamenu-wrapper li ul').replaceWith( megaContents );

它在两个每个大型菜单中制作相同的列表,并且在每个大型菜单中每个元素重复大约​​ 5 次。 任何人都请帮助。

最佳答案

使用

//Fimd child ul li and append it to main ul
$('.megamenu-wrapper > li > ul > li').appendTo('.megamenu-wrapper');

//Remove li having ul
$('.megamenu-wrapper > li:has(ul)').remove();;

$(document).ready(function() {
      $('.megamenu-wrapper > li > ul > li').appendTo('.megamenu-wrapper'); +
      $('.megamenu-wrapper > li:has(ul)').remove();
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="megamenu-wrapper">
  <li>
    <ul>
      <li><a href="#">Home</a>
      </li>
      <li><a href="#">Abort</a>
      </li>
      <li><a href="#">Contact</a>
      </li>
    </ul>
  </li>
  <li>
    <ul>
      <li><a href="#">gang</a>
      </li>
      <li><a href="#">menu</a>
      </li>
      <li><a href="#">food</a>
      </li>
    </ul>
  </li>
</ul>

如果您有多个菜单,请使用 .each()

$('.megamenu-wrapper') each(function () {
    $(this).find('> li > ul > li').appendTo(this);
    $(this).find(' > li:has(ul)').remove();
});

DEMO

关于javascript - 删除 html 标签但保留内部 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30411468/

相关文章:

使用变量调用 Javascript 命名空间

javascript - TinyMCE 图像类问题

javascript - jQuery 菜单 > 折叠所有不在当前树中的内容

javascript - navigator.network.connection.type 返回 null 而不是 Connection.NONE

javascript - 如果只有一个错误类,如何选择输入内容

javascript - Windows 通知的服务器端进程

javascript - Angular $scope 变量已更新但未显示

javascript - 使textarea全屏jquery(用作代码编辑器)

php - echo html 和 php 给出语法错误

html - 尽管 td{padding :0},但在表格单元格内填充