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

时间:2011-02-10 14:07:18

标签: jquery

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

这是我需要找到的div(我有很多......)

<div imageId='imageN'>...

我只需要循环遍历imageId='imageN'

的div

5 个答案:

答案 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);   
});