我有问题。请参阅我的代码部分:
<ul>
<li><a href="#">Test 1</a></li>
<li><a href="#">Test 2</a>
<ul>
<li><a href="#">Test 3</a></li>
<li><a href="#">Test 4</a></li>
</ul>
</li>
<li><a href="#">Test 5</a></li>
<li><a href="#">Test 6</a></li>
<li><a href="#">Test 7</a></li>
<li><a href="#">Test 8</a>
<ul>
<li><a href="#">Test 9</a></li>
<li><a href="#">Test 10</a></li>
<li><a href="#">Test 11</a></li>
<li><a href="#">Test 12</a></li>
</ul>
</li>
</ul>
我想为所有不包含更多ul元素的项添加类 - 请看看我想要实现的目标:
<ul>
<li><a href="#" class="link">Test 1</a></li>
<li><a href="#">Test 2</a>
<ul>
<li><a href="#" class="link">Test 3</a></li>
<li><a href="#" class="link">Test 4</a></li>
</ul>
</li>
<li><a href="#" class="link">Test 5</a></li>
<li><a href="#" class="link">Test 6</a></li>
<li><a href="#" class="link">Test 7</a></li>
<li><a href="#">Test 8</a>
<ul>
<li><a href="#" class="link">Test 9</a></li>
<li><a href="#" class="link">Test 10</a></li>
<li><a href="#" class="link">Test 11</a></li>
<li><a href="#" class="link">Test 12</a></li>
</ul>
</li>
</ul>
我想使用jquery。非常感谢任何线索。
答案 0 :(得分:1)
$('li > a').filter(function() {
return !$(this).siblings('ul').length;
}).addClass('link');
修改强>
刚才在你的问题中注意到你希望嵌套列表锚点也有link
类,这样的东西应该有效: -
$('li > a').addClass('link').filter(function() {
return $(this).siblings('ul').length;
}).removeClass('link');
答案 1 :(得分:1)
$("li").not("li:has(ul)")
.children("a")
.addClass("link");
或者,如果要定位的a
元素似乎始终是唯一的孩子,则可以使用only-child
选择器。
$("li > a:only-child").addClass("link");
答案 2 :(得分:0)
$("li").each(function(){
if($(this).children('ul').length == 0)
$(this).addClass('link');
});