leo*_*ora 2 jquery css-selectors
如果我有这个HTML:
<a id="test" referenceId="test23" href=''>Test</a>
Run Code Online (Sandbox Code Playgroud)
我想根据referenceId属性获取选择器(不是id)
我知道我能做到这一点
$('#test'). . ..
Run Code Online (Sandbox Code Playgroud)
但我想知道我是否可以做类似的事情,但使用该referenceId属性来获取选择器.
从属性值搜索不应该直接在根文档上进行,特别是不要使用非常通用的选择器,因为它非常慢,并且应该限于特定的父级,特定的标记名称或具有共享CSS类的元素.例如,在您的情况下,如果referenceId是仅为锚元素指定的属性,则查询:
$("a[referenceId='someValue']")...
Run Code Online (Sandbox Code Playgroud)
如果您在不同的标记名称上具有此属性,则可以在同一查询中缩小搜索指定公共父级或使用多个选择器等.例如 :
$("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.
Run Code Online (Sandbox Code Playgroud)
请注意,建议将属性值括在引号中.您可以从jQuery API文档中阅读有关选择器的更多信息.