Jquery 如果父级有类,则不';行不通
我不明白我的jQuery代码中有什么不起作用的地方。HTML代码是PHP生成的,所以我需要用jQuery编辑它。以下是HTML代码:Jquery 如果父级有类,则不';行不通,jquery,html,Jquery,Html,我不明白我的jQuery代码中有什么不起作用的地方。HTML代码是PHP生成的,所以我需要用jQuery编辑它。以下是HTML代码: <div class="container"> <li class="cat-item cat-item-6"><a>Biologie</a></li> <li class="cat-item cat-item-5"><a>Chimie</a></li&g
<div class="container">
<li class="cat-item cat-item-6"><a>Biologie</a></li>
<li class="cat-item cat-item-5"><a>Chimie</a></li>
<li class="cat-item cat-item-1"><a>Non classé</a></li>
<li class="cat-item cat-item-3"><a>Physique</a>
<ul class='children'>
<li class="cat-item cat-item-4"><a>Physique quantique</a></li>
</ul>
</li>
</div>
我不明白为什么它不起作用。代码
$(".cat-item").addClass( "list-group" );
工作正常,因此我确信(或非常肯定)父函数()或hasClass()函数存在问题。如果有条件,您将该
放在哪个函数中?如果你把它放在$(document).ready()
,$(这个)
将是$(document)
使用该逻辑,您应该在附加到li
我在下面用变量做了一个解决方案,这样你就更容易理解了:)
在您的html
结构中添加了ul
,但该结构丢失(请小心)
请参阅下面的代码片段
var cat=$(“ul li.cat item”)//使用class.cat item获取li
$(cat).each(function(){//遍历所有.cat项元素
var parentUL=$(this.parent(“ul”)//获取每个li.cat-item的父项
if(!$(parentUL).hasClass(“children”){//检查父级是否没有类子级
$(this.addClass(“列表组”);//如果是>将类添加到其父级没有class.children的li
}
})
.list group>a{
颜色:红色;
}
生物学
Chimie
非船级社
体格
体格量化
您的代码指出,如果.cat项的第一个父项没有类,则向某个对象添加一个类(该类的作用域是什么)
如果要向lis中添加不在该类ul中的类,请选择这些类
$(“.container ul”)//选择uls
.not(“ul.children”)//过滤掉类中的
.find(“>.cat项”)//选择直接子体
.addClass(“列表组”)//添加类
li{
背景色:石灰;
}
.列表组{
背景颜色:黄色
}
生物学
Chimie
非船级社
体格
体格量化
因为这
不是LI为什么lis不在ul中?因为提供的HTML无效,所以我投票关闭这个问题,因为提供的HTML无效。无效的HTML,并且不理解这
是如何工作的,这似乎是问题所在?嗨,div容器中的HTML是用wordpress函数wp_list_categories()生成的,我了解很多事情,非常感谢你的时间!祝你有愉快的一天@汤玛莎很高兴我能帮上忙。parentClass!=(“children”)
如果有多个类,则会失败。。。。“你为什么不去上Hasscarello的课呢?”epascarello因为。。累了:)对不起。谢谢你指出这一点。编辑。一天的工作之后,我往往会把事情弄得过于复杂嗨,也谢谢你的回答!这对我帮助很大。祝您今天过得愉快!这种方法比你选择的循环解决方案要好。
$(".cat-item").addClass( "list-group" );