在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); });