javascript - 使用 jQuery 组合类选择器和属性选择器

标签 javascript jquery jquery-selectors

是否可以将类选择器属性选择器与 jQuery 结合起来?

例如,给定以下 HTML:

<TABLE>
  <TR class="myclass" reference="12345"><TD>Row 1</TD></TR>
  <TR class="otherclass" reference="12345"><TD>Row 2</TD></TR>
  <TR class="myclass" reference="12345"><TD>Row 3</TD></TR>
  <TR class="myclass" reference="54321"><TD>Row 4</TD></TR>
</TABLE>

我可以用来只选择第 1 行和第 3 行的选择器是什么?

我试过:

$(".myclass [reference=12345]") // returns nothing

$(".myclass, [reference=12345]") // returns all 4 rows (yes, I know the comma means 'or')

我确信答案很简单,我已经尝试搜索 jQuery 论坛和文档,但我似乎无法弄清楚这个问题。谁能帮忙?

最佳答案

将它们结合起来。从字面上组合它们; 它们连在一起,不要加任何标点符号。

$('.myclass[reference="12345"]')

您的第一个选择器查找具有属性值的元素,该元素包含在具有该类的元素中。
该空间被解释为 descendant selector .

如您所说,您的第二个选择器查找具有属性值或类或两者的元素。
逗号被解释为 multiple selector运算符——不管它是什么意思(CSS 选择器没有“运算符”的概念;逗号可能更准确地称为定界符)。

关于javascript - 使用 jQuery 组合类选择器和属性选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6246683/

相关文章:

javascript - 从 mongo 返回纯 json 对象的问题

jQuery Tipsy 工具提示插件定制

jquery - 计算元素内的复选框数量

asp.net - jQuery 和 ASP.NET 名称

javascript - 单击按钮使用angularjs将文本复制到另一个div

javascript - 如何在文本区域中动态添加新行; javascript 或 jquery

javascript - 循环不会在给定值处停止

javascript - 如何在同一个 php 页面上显示和隐藏多个表单

jquery - 如何为 Chrome 编写 Greasemonkey 脚本以便对其进行单元测试?

Jquery 选择没有 LI 的 UL