如果要处理返回的图像数组,如何仅过滤出包含特定数据属性值的那些图像?
例如...
let $exampleImages = $("#example img");
现在每个示例图像都返回
$exampleImages[5]
=> <img ... data-targetattribute="12345" ... >
我如何只过滤出包含data-targetattribute="12345"
的那些图像?
我本以为以下方法会起作用,但不会...
$exampleImages.filter('[data-targetattribute="12345"]');
有什么想法吗?过滤器方法或关于对象集合是否有我不了解的东西?
我也没有嫁给jQuery,因此,如果这比原始Javascript方法更适合,那我就耳熟能详!
谢谢!
答案 0 :(得分:1)
要从jQuery对象中过滤具有给定数据属性值的项目,.filter([selector])
方法将实现您想要的。
这里有一些示例代码演示了这一点:
var divs = $('div');
divs = divs.filter('[data-targetattribute="12345"]')
divs.css('background-color', 'red');
请注意.filter
返回一个新对象。您的代码遇到的问题可能是您正在尝试引用未更改的初始变量。