【发布时间】:2012-05-28 01:32:56
【问题描述】:
我正在考虑,是否可以在 jQuery 中通过使用 AND 和 OR 的命名属性来选择元素。
例子:
<div myid="1" myc="blue">1</div>
<div myid="2" myc="blue">2</div>
<div myid="3" myc="blue">3</div>
<div myid="4">4</div>
我想选择 myc="blue" 的所有元素,但只选择 myid 设置为 1 或 3 的元素。
所以我尝试了:
a=$('[myc="blue"] [myid="1"] [myid="3"]');
但它不起作用,这里也一样:
a=$('[myc="blue"] && [myid="1"] || [myid="3"]');
不写特殊的过滤函数可以吗?
【问题讨论】:
-
注意:您不应该像
myc和myid那样编造自己的属性。如果您使用 HTML5,请在它们前面加上data-:data-myc和data-myid。 -
@RoToRa,HTML5 中是否有文档说明您应该这样做?我看到的大多数网站都使用开发人员当时的想法......
-
人们这样做并不意味着它是正确的。请参阅HTML5 Section 3.2.1:“作者不得使用本规范或其他适用规范不允许的元素、属性或属性值,因为这样做会大大增加该语言未来的扩展难度。”
-
这是一个好问题的糟糕例子。那么输入等不同的元素类型呢?
标签: jquery jquery-selectors find operators