【问题标题】:Find all elements with a certain attribute value in jquery在jquery中查找具有某个属性值的所有元素
【发布时间】:2017-10-16 00:53:08
【问题描述】:

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

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

<div imageId='imageN'>...

我只需要遍历具有imageId='imageN'的div

【问题讨论】:

  • 为了有效的 HTML,我建议使用 class="imageN"。为了有效的 HTML5,要么是那个,要么是 data-imageId="imageN"。使用前者,您将能够使用类选择器。
  • 安迪,这背后的原因是,这些 div 是从代码隐藏中动态添加的,并且具有不同的 ImageId 但相同的类。
  • 如果有帮助,你可以拥有多个课程class="image imageN"
  • 如果他们已经有相同的类,为什么不选择类名呢?

标签: jquery


【解决方案1】:

虽然它不能准确回答问题,但我在寻找一种方法来获取仅具有给定属性名称(不按属性值过滤)的元素集合(可能是不同的标签名称)时,我来到了这里。我发现以下内容对我很有效:

$("*[attr-name]")

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

更新: 看来星号不是必需的,即基于一些基本测试,以下似乎与上述等效(感谢马特指出这一点):

$("[attr-name]")

【讨论】:

  • 完美!正是我想要的。
  • 很有可能...我没有检查性能方面(当时不是我使用的重要因素)。
  • 这和$("[attr-name]")有什么区别吗? (即没有*
  • 是的,它们之间有一定的区别。星号在 Firefox 上引发错误!!!! (未转义...)
  • 除此之外,还可以包含一个属性值,例如:$("[data-toggle='modal']")
【解决方案2】:
$('div[imageId="imageN"]').each(function() {
    // `this` is the div
});

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

【讨论】:

  • @ThiefMaster - 如果属性值不是恒定的,(即它会变化)那么如何找到它?
  • 几个问题:1- 其他元素呢... 2- 其他值呢... 我可能在许多元素上都有属性 data-food: div、img 和 td,其中每个都有不同的值。
  • @ParthoGanguly 你这样使用变量:$('div[imageId="' + variableName + '"]')
  • 这个解决方案并没有真正回答这个页面的标题。您正在搜索 div 元素。正确的解决方案是与实际元素无关的解决方案。
【解决方案3】:

它不叫标签;您要查找的内容称为 html 属性。

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

【讨论】:

    【解决方案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 以 abc 开头的 div 的 DOM 数组:

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

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

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-15
        • 2014-01-15
        • 1970-01-01
        相关资源
        最近更新 更多