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

Pab*_*buc 85 jquery

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

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

<div imageId='imageN'>...
Run Code Online (Sandbox Code Playgroud)

我只需要遍历已经拥有的div imageId='imageN'

sam*_*y34 154

虽然它没有准确地回答这个问题,但我在搜索一种获取元素集合(可能是不同的标记名称)的方法时就到了这里,这些元素只有一个给定的属性名称(没有按属性值过滤).我发现以下对我有用:

$("*[attr-name]")
Run Code Online (Sandbox Code Playgroud)

希望能帮助碰巧登陆此页面的人寻找与我相同的东西:).

更新:似乎星号不是必需的,即基于一些基本测试,以下似乎与上面相同(感谢Matt指出这一点):

$("[attr-name]")
Run Code Online (Sandbox Code Playgroud)

  • 这与`$("[attr-name]")之间有什么区别吗?(即没有`*`) (3认同)

Thi*_*ter 135

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

要检查属性的唯一存在,无论哪个值,您都可以使用选择器: $('div[imageId]')

  • @ThiefMaster - 如果属性值不是常数,(即它会有所不同)那么如何找到它? (4认同)

Val*_*Val 12

它不叫做标签; 你要找的是一个html属性.

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


Kru*_*nal 5

您可以使用属性的部分值来使用(^)符号检测DOM元素。例如,您具有以下div:

<div id="abc_1"></div>
<div id="abc_2"></div>
<div id="xyz_3"></div>
<div id="xyz_4"></div>...
Run Code Online (Sandbox Code Playgroud)

您可以使用以下代码:

var abc = $('div[id^=abc]')
Run Code Online (Sandbox Code Playgroud)

这将返回一个以id开头的div的DOM数组abc

<div id="abc_1"></div>
<div id="abc_2"></div>
Run Code Online (Sandbox Code Playgroud)

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


Los*_*nSS 5

使用字符串连接。尝试这个:

$('div[imageId="'+imageN +'"]').each(function() {
    $(this);   
});
Run Code Online (Sandbox Code Playgroud)