我正在从正在工作的父类中删除锚标记,但也从子类中删除了它。我需要在子类上添加锚标记。
你能帮我吗?
$(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>
答案 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>