【问题标题】:JQuery, how to find list of div's with similar IDJQuery,如何找到具有相似ID的div列表
【发布时间】:2010-11-16 13:43:44
【问题描述】:

我有一个这样的html结构:

<div id="triger1">some elements inside</div>
<div id="triger2">some elements inside</div>
<div id="triger3">some elements inside</div>
<div id="triger4">some elements inside</div>

如何在 JQuery 中获取包含触发器 ID 的所有 div 数组(如您所见,它们都有触发器但编号不同,例如 triger1、triger2 等...)

提前致谢

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    选择id属性包含字符串triger的所有div元素:

    $('div[id*="triger"]');
    

    在 jQuery 文档中有更多关于使用 *= 的信息:Attribute Contains Selector [name*="value"]

    【讨论】:

      【解决方案2】:

      您实际上可以在选择器中使用正则表达式来准确实现您正在寻找的内容,例如:

      $("div:regex(id, yourRegularExpression)");
      

      (注意:这确实需要regex-selector 插件)

      有人问过类似的问题here

      你可以阅读所有关于正则表达式的文章here

      正如其他人指出的那样,您可以像这样获得相同的结果:

      $("div[id^='partOfID']");
      

      通过使用一个简单的 jQuery 选择器。但是,对于更复杂的选择,您需要使用regex plugin 或手动进行,如linked question 中所述。

      祝你好运!

      【讨论】:

      • 这需要自定义过滤器。
      • 是的!已经用它的链接和更简单的查询的替代方法更新了答案
      【解决方案3】:

      您可以使用以下内容:

      $("div[id^='triger']")
      

      这将返回所有&lt;div&gt;id,以triger 开头(^=)。

      您可以在 jQuery 文档中获得有关各种 jQuery 选择器的更多信息:

      API/Selectors

      【讨论】:

      • 我们可以将它用于带有 (^=) 的多个 id。例如:获取以“触发器”或“智能”开头的 div?
      • @Prasad: 当然!只需使用$("div[id^='trigger'],div[id^='smart']")
      • @AndrewMoore 这总是会返回一个有序数组吗?或者这可能会将我的 div 随机排序到数组中?
      • @Alan_s:它总是以 DOM 顺序返回结果。 (.parents() 查询除外;因为您在树上行走,所以顺序颠倒了)
      【解决方案4】:
      var trigerList = $("div[id^='triger']");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-01
        • 2012-05-28
        • 1970-01-01
        相关资源
        最近更新 更多