当前位置 : 主页 > 网页制作 > JQuery >

jquery – 有没有理由在’.class’上使用选择器’* .class’?

来源:互联网 收集:自由互联 发布时间:2021-06-15
我在代码中找到了它,并且不知道在.class选择器上使用* .class选择器有什么意义. 无论是在jQuery( Sizzle)选择器上下文还是CSS选择器上下文中,都没有意义. * .class和.class在匹配的元素和特异性
我在代码中找到了它,并且不知道在.class选择器上使用* .class选择器有什么意义. 无论是在jQuery( Sizzle)选择器上下文还是CSS选择器上下文中,都没有意义. * .class和.class在匹配的元素和特异性方面是等价的.

*字符仅在用于引用任何元素时才有意义;它暗示了你在没有类型选择器的情况下使用任何其他简单选择器的那一刻.即便如此,如果有的话,你很少会发现自己需要将事件挂钩或操纵DOM上每个元素的属性.

如果您要使用类,伪类,ID等,那么通用选择器就没有意义,因为无论如何都会相应地过滤所选元素.

此外,这是使用*与其他选择器的一个缺点,引自jQuery documentation:

Caution: The all, or universal, selector is extremely slow, except when used by itself.

这就是Selectors spec所说的:

If a universal selector represented by * (i.e. without a namespace prefix) is not the only component of a 07003 selectors or is immediately followed by a 07004, then the * may be omitted and the universal selector’s presence implied.

Examples:

  • *[hreflang|=en] and [hreflang|=en] are equivalent,
  • *.warning and .warning are equivalent,
  • *#myid and #myid are equivalent.
网友评论