jquery - 如何在对象列表中通过data-*查找

标签 jquery

我有简单的代码,但不起作用:

jQuery('#list-of li').removeClass('active').find('[data-item-id="' + item_id + '"]').addClass('active');

仅当我将其与 li 一起使用时才有效

jQuery('#list-of li[data-item-id="' + item_id + '"]').addClass('active');

最佳答案

您需要使用过滤器找不到

find():将查找后继元素,但您已经拥有上一组具有 data-item-id 属性的 li 元素

filter():将使用传递的选择器过滤当前的元素集

jQuery('#list-of li').removeClass('active').filter('[data-item-id="' + item_id + '"]').addClass('active');

关于jquery - 如何在对象列表中通过data-*查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18335404/

相关文章:

asp.net-mvc - 隐藏当前元素并显示下一个元素

javascript - 我的 jQuery 脚本似乎正在加载,但不工作

javascript - 如何使用包含下划线的变量访问对象属性

JavaScript 'setInterval()' 未按预期工作

javascript - 如何使用javascript切换小数和四舍五入的整数

javascript - 使用 JavaScript 插入文本

javascript - 我的 CSS-Transition 被跳过了?

javascript - 在ajax中合并来自不同URL的数据

javascript - 在 colorbox iframe 上设置 body font-size

javascript - 本地化 <asp :FileUpload>. IE 问题