在jquery中查找具有特定属性值的所有元素

我需要find所有具有特殊属性值的元素。

这是我需要find的div(我有许多这样的..)

<div imageId='imageN'>... 

我只需要通过具有imageId='imageN'的div进行循环,

 $('div[imageId="imageN"]').each(function() { // `this` is the div }); 

要检查属性的唯一存在,不pipe是哪个值,都可以使用这个select器: $('div[imageId]')

虽然它不能精确地回答这个问题,但是当我search一个获取只有给定属性名称的元素(可能不同的标签名称)的集合(没有按属性值进行过滤)的方式时,我在这里登陆了。 我发现以下工作对我很好:

 $("*[attr-name]") 

希望能帮助那些正好登陆这个页面的人寻找和我一样的东西:)。

更新:似乎星号是不需要的,即基于一些基本的testing,以下似乎相当于上面(感谢马特指出这一点):

 $("[attr-name]") 

这不叫一个标签; 你正在寻找的是一个HTML属性。

 $('div[imageId="imageN"]').each(function(i,el){ $(el).html('changes'); //do what ever you wish to this object :) }); 

您可以使用属性的部分值来检测使用(^)符号的DOM元素。 比如你有这样的div:

 <div id="abc_1"></div> <div id="abc_2"></div> <div id="xyz_3"></div> <div id="xyz_4"></div>... 

您可以使用代码:

 var abc = $('div[id^=abc]') 

这将返回以abc开头的id的DOM数组:

 <div id="abc_1"></div> <div id="abc_2"></div> 

这里是演示: http : //jsfiddle.net/mCuWS/

使用string连接。 尝试这个:

 $('div[imageId="'+imageN +'"]').each(function() { $(this); });