我需要找到所有具有特殊属性值的元素。
这是我需要找到的div(我有很多......)
<div imageId='imageN'>...
我只需要循环遍历imageId='imageN'
答案 0 :(得分:150)
虽然它没有准确地回答这个问题,但我在寻找一种获取元素集合(可能是不同的标记名称)的方法时就已经到了这里,这些元素只有一个给定的属性名称(没有按属性值过滤)。我发现以下情况对我有用:
$("*[attr-name]")
希望能帮助碰巧登陆此页面的人寻找与我相同的事情:)。
更新: 似乎星号不是必需的,即基于一些基本测试,以下似乎等同于上述(感谢Matt指出这一点):
$("[attr-name]")
答案 1 :(得分:129)
$('div[imageId="imageN"]').each(function() {
// `this` is the div
});
要检查属性的唯一存在,无论哪个值,您都可以使用选择器:$('div[imageId]')
答案 2 :(得分:11)
它不被称为标签;你要找的是一个html属性。
$('div[imageId="imageN"]').each(function(i,el){
$(el).html('changes');
//do what ever you wish to this object :)
});
答案 3 :(得分:4)
您可以使用属性的部分值来使用(^)符号检测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]')
这将返回一个id数组的DOM数组,其id以abc
开头:
<div id="abc_1"></div>
<div id="abc_2"></div>
以下是演示: http://jsfiddle.net/mCuWS/
答案 4 :(得分:3)
使用字符串连接。 试试这个:
$('div[imageId="'+imageN +'"]').each(function() {
$(this);
});