如何从父类而非子类中删除锚标记?

时间:2019-11-18 12:48:20

标签: javascript jquery html css

我正在从正在工作的父类中删除锚标记,但也从子类中删除了它。我需要在子类上添加锚标记。

你能帮我吗?

$(function() {
  $('#left-side-menu li.menu-item-has-children a').contents().unwrap();
});
<nav id="left-side-menu">
  <ul>
    <li><a href="">Test 1</a></li>
    <li class="menu-item-has-children"><a href="">Test 2</a>
      <ul>
        <li><a href="">Test 2-1</a></li>
        <li><a href="">Test 2-2</a></li>
      </ul>
    </li>
    <li><a href="">Test 3</a></li>

  </ul>
</nav>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

2 个答案:

答案 0 :(得分:0)

Child Combinator用于CSS选择器

您的示例解决方案

#left-side-menu li.menu-item-has-children a替换为#left-side-menu li.menu-item-has-children > a,以检测直接位于li.menu-item-has-children元素内部的标记锚链接

最终代码

$(function() {
  $('#left-side-menu li.menu-item-has-children > a').contents().unwrap();
});

答案 1 :(得分:0)

  

您可以使用CSS轻松完成此操作。希望为您服务

.disable {
  pointer-events: none;
  text-decoration: none;
  color: black;
}
<nav id="left-side-menu">
  <ul>
    <li><a href="">Test 1</a></li>
    <li><a class="disable" href="">Test 2</a>
      <ul>
        <li><a href="">Test 2-1</a></li>
        <li><a href="">Test 2-2</a></li>
      </ul>
    </li>
    <li><a href="">Test 3</a></li>

  </ul>
</nav>

相关问题