繁体   English   中英

jQuery如何根据数据属性的值过滤对象数组?

[英]jQuery How to filter an object array based on the value of a data-attribute?

如果要处理返回的图像数组,如何仅过滤出包含特定数据属性值的那些图像?

例如...

let $exampleImages = $("#example img");

现在,每个示例图像都返回类似

$exampleImages[5] => <img ... data-targetattribute="12345" ... >

我怎样才能只过滤出那些包含data-targetattribute="12345"

我以为以下方法会奏效,但不会...

$exampleImages.filter('[data-targetattribute="12345"]');

有任何想法吗? 过滤器方法或我不正确理解的对象集合是否存在某些问题?

我也没有嫁给jQuery,因此,如果这比原始Javascript方法更适合,那我就耳熟能详!

谢谢!

要从jQuery对象中过滤具有给定数据属性值的项目, .filter([selector])方法将实现您想要的。

这是一些示例代码演示了这一点:

var divs = $('div');

divs = divs.filter('[data-targetattribute="12345"]')

divs.css('background-color', 'red');

的jsfiddle

请注意, .filter返回一个新对象。 您的代码遇到的问题可能是您试图引用未更改的初始变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM