元素属性选择器
CSS规范文档允许元素通过它们的元素属性来识别。与此同时,有些旧的浏览器不支持样式文档的目的,jQuery允许你不管使用了哪种浏览器都可以使用它们。
当使用任一个后面的元素属性选择器时,你应当考虑元素属性有很多个用空格隔开的值。因为这些选择器会把元素属性值视为一个单一的字符串,比如说,选择器$("a[rel='nofollow']")
将选中<a href="example.html" rel="nofollow">Some text</a>
,但是不能选中<a href="example.html" rel="nofollow foe">Some text</a>
。
选择器表达式中的元素属性值必须遵守W3C CSS选择器的规则;一般来说,这意味着除了有效的标识符之外的别的东西用引号包围起来。
- 双引号在单引号里面:
$('a[rel="nofollow self"]')
- 单引号在双引号里面:
$("a[rel='nofollow self']")
- 在单引号里面转义单引号:
$('a[rel=\'nofollow self\']')
- 在双引号里面转义双引号:
$("a[rel=\"nofollow self\"]")
你所选择的这些变体通常关乎风格或便利性。
注意:在jQuery 1.3中,[@attr]
样式选择器被删除了(之前在jQuery 1.2中建议弃用它)。只要从你的选择器中删除“@”就能使它们又能起作用了。
选择这样的元素:它们具有指定的元素属性,该元素属性的值要么等于给定的字符串,要么以该字符串开头,后面跟着一个短横(-)。
选择这样的元素:它们具有指定元素属性、而且该元素属性的值包含了某个给定的子字符串。
选择这样的元素:它们具有指定的元素属性,而且该元素属性的值包含了某个给定的词,并用空格作界定。
选择这样的元素:它们具有指定的元素属性,而且该元素属性的值严格以某个给定的字符串结束。该对比是大小写敏感的。
选择这样的元素:它们具有指定的元素属性,而且该元素属性的值严格等于某个值。
选择这样的元素:它们要么不具有指定的元素属性,要么指具有指定的元素属性,但是该元素属性的值不是某个值。
选择这样的元素,它们具有指定的元素属性,而且该元素属性的值严格以某个给定的字符串开头。
选择具有指定的元素属性的元素,该元素属性可以是任意值。
匹配元素,匹配所有的指定的元素属性筛选器的元素。