代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

如何根据属性从jQuery获取选择器

  •  2
  • leora Matt Lacey  · 技术社区  · 14 年前

    如果我有这个HTML:

    <a id="test" referenceId="test23" href=''>Test</a>
    

    我想根据 referenceId 属性(不是 id )

    $('#test'). . ..
    

    但我想知道,如果我能做类似的事情,但使用 引用ID

    3 回复  |  直到 14 年前
        1
  •  6
  •   Yanick Rochon    14 年前

    从属性值进行搜索不应直接在根文档上进行,尤其不应使用非常通用的选择器,因为它非常慢,并且应限于特定的父级、特定的标记名或具有共享CSS类的元素。例如,在你的情况下,如果 referenceId 是仅指定用于锚定元素的属性,您可以查询:

    $("a[referenceId='someValue']")...
    

    如果在不同的标记名上有此属性,则可以在同一查询中指定公共父项或使用多个选择器等缩小搜索范围。例如:

    $("div#parent [referenceId='someValue']")... // use div#parent as base element
    $("a[referenceId='someValue'], span[referenceId='someValue']")... // search A and SPAN tags only
    $(".ref[referenceId='someValue']")... // search any element with "ref" CSS class
    // etc.
    

    请注意,建议将属性值括在引号中。您可以从 jQuery API docs .

        2
  •  4
  •   Amy B    14 年前

    $('[referenceId="test23"]')

        3
  •  3
  •   Randall Kwiatkowski    14 年前

    $('[attribute=someValue]'). . . .