javascript - jQuery 如果 data-id 元素 hasClass 不起作用

标签 javascript jquery wordpress if-statement show-hide

我不知道我尝试创建的函数是否缺少某个元素,或者我是否缺少某些内容,但我的函数根本无法工作。不确定是否遗漏了某些内容或者我是否没有添加某些内容。让我知道我提供了 jQuery 和我试图开始工作的代码的屏幕截图。基本上我想做的是,如果具有 data-id 的某个元素具有某个类,则隐藏某些列表项。

$(function($){
    if( $('.chbs-vehicle[data-id="313"] a').hasClass('chbs-state-selected') ){
        $('ul.chbs-list-reset li(1)').hide();
    }
});

enter image description here

最佳答案

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 313a 是否具有该类。

根据您的评论,听起来您需要监听添加 chbs-state-selected 类的同一点击事件。看看这个基本的 Demo

鉴于此,您不一定需要检查类,只需将 hide/show 函数附加到同一事件即可。但是,如果需要,您可以向其添加 hasClass 检查。

无论如何,它应该位于首先添加 chbs-state-selected 的同一处理程序内

关于javascript - jQuery 如果 data-id 元素 hasClass 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49521035/

相关文章:

javascript - 无法让 jQuery Cycle 在 Amazon Webstore 中运行

php - 使用 jQuery 和 PHP 序列化和提交表单

jquery - Mapbox-gl 高度 100%

wordpress - 我想通过 htaccess 或使用 WordPress 功能更改 WordPress 网站特定页面的 URL

javascript - 使用 knockoutjs 绑定(bind)和显示字典

javascript - kendo-grid 中的数据在排序时消失

javascript - Firefox 在页面加载时向下滚动

jquery - 如何使用 css 或 jQuery 编辑焦点上的伪元素

php - 如果有多个可用值,则以逗号分隔的产品属性术语

php - Woocommerce get_item() 函数返回 false