小编典典

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

all

是否可以将类选择器 属性选择器与 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 论坛和文档,但我似乎无法弄清楚这一点。任何人都可以帮忙吗?


阅读 81

收藏
2022-08-05

共1个答案

小编典典

将它们结合起来。从字面上 结合 它们; 它们连接在一起,没有任何标点符号。

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

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

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

2022-08-05