我不知道我试图创建的函数是否缺少一个元素,或者我是否遗漏了一些东西,但我的功能根本不起作用。不确定是否遗漏了什么或者我是不是在添加东西。让我知道我提供了jQuery和我试图开始工作的代码的截图。基本上我想要做的是,如果某个具有data-id的元素具有某个类,则隐藏某些列表项。
$(function($){
if( $('.chbs-vehicle[data-id="313"] a').hasClass('chbs-state-selected') ){
$('ul.chbs-list-reset li(1)').hide();
}
});
li(1)
不是有效的表达式,您应该使用不同的评估者:
$('ul.chbs-list-reset li:eq(0)')
$('ul.chbs-list-reset li:first-child')
$('ul.chbs-list-reset li').eq(0)
看看这个Demo
如果在页面加载时满足您的条件,它就可以正常工作。但是,如果动态添加chbs-state-selected
类,则需要使用事件处理程序监听该更改。你拥有它的脚本并不经常轮询文档,看看Vehicle 313
的a
是否有类。
根据您的评论,听起来您需要监听添加chbs-state-selected
类的相同点击事件。看看这个基本的Demo。
鉴于此,您不一定需要检查类,只需将hide/show
函数附加到同一事件。但是,如果有必要,您可以添加hasClass
检查。
无论如何,它应该在同一个处理程序内部,首先添加chbs-state-selected
您可以使用eq:jquery函数
$(function($){
if( $('.chbs-vehicle[data-id="313"] a').hasClass('chbs-state-selected') ){
$('ul.chbs-list-reset li:eq(0)').hide();
}
});