Javascript 我该如何表述;如果这个.children.has.not.class“;在jquery中?
我有一份清单:Javascript 我该如何表述;如果这个.children.has.not.class“;在jquery中?,javascript,jquery,html,html-lists,Javascript,Jquery,Html,Html Lists,我有一份清单: <ul> <li class="left-main-list"><a href="#">Whatnot</a></li> <li class="left-main-list active"><a href="#">Whatnot1</a></li> <ul class="random"> <li><a
<ul>
<li class="left-main-list"><a href="#">Whatnot</a></li>
<li class="left-main-list active"><a href="#">Whatnot1</a></li>
<ul class="random">
<li><a href="#">BK Sang, Oxelesund</a></li>
<li><a href="#">Boxholms BS</a></li>
</ul>
<li class="left-main-list"><a href="#">Whatnot2</a></li>
</ul>
首先我想知道,第二个
是上面列表项的子项吗
如果是这样,我想做一个If语句,说如果你点击一个类为“left main list”
的项目,我想看看他们的孩子是否有一个类,如果没有,我想给那个孩子添加一个类(“random”)
如果这实际上不是一个孩子,我希望有一种方法来检查第二个ul是否有类,如果没有,则在该ul中添加“random”。我猜如果它不是上面列表项的子项,我必须给它一个id
任何帮助都将不胜感激!
/Bill请注意,rour HTML无效,第二个
ul
应位于li
元素内
此外,在添加类之前,您不必检查元素
是否具有特定的类。如果元素已经具有指定的类,jQuery将不会添加重复的类
但是,下面是如何在li
下找到ul
元素而不使用.random
类的方法(我假设此
就是li
):
您的HTML无效。UL不能包含其他UL。这将把class
random
添加到没有任何类的li.left-main-list的子级
-
$('.left main list')。单击(函数(){
$(this).children(':not([class])).addClass('random'))
});
您的代码中没有class=random。现在是,但实际上,我想看看它的孩子是否有类,如果没有,请添加一个类:)要回答您的一个问题,ul with class=“random”不是li的孩子。它是第一个ul的子级。您可以使用$('ul').hasClass('.classname')测试元素。您的HTML无效,
只能包含元素。
$(this).children('ul:not(.random)');
<ul>
<li class="left-main-list"><a href="#">Whatnot</a></li>
<li class="left-main-list active"><a href="#">Whatnot1</a>
<ul>
<li><a href="#">BK Sang, Oxelesund</a></li>
<li><a href="#">Boxholms BS</a></li>
</ul>
</li>
<li class="left-main-list"><a href="#">Whatnot2</a></li>
</ul>
$('.left-main-list').click(function(){
$(this).children(':not([class])').addClass('random')
});