CSSselect器和jQueryfilter之间的区别?
可以将CSSselect器传递给jQuery函数,例如:
jQuery('h1 + h2');
jQuery也有一些filter,如:even
和:odd
:
jQuery('tr:even');
我正在寻找某种语法规则来区分这两者,我在想,也许jQueryfilter总是使用:
。
但是,一些CSSselect器也使用a :。 例如:
-
:last-child
-
:root
-
:empty
-
:target
有没有人有任何智能提示知道,如果它是一个CSSselect器或正在使用的jQueryfilter?
我正在寻找某种语法规则来区分这两者,我在想,也许jQueryfilter总是使用
:
。但是,一些CSSselect器也使用a:。
有没有人有任何智能提示知道,如果它是一个CSSselect器或正在使用的jQueryfilter?
这是关于在其扩展中采用CSS语法的select器库最恼人的事情之一:因为基于匹配的filter和真正的伪类被笼统地称为“伪select器”(其基本意思是“select器以“ :
”开头,唯一可以判断一个“伪select器”是一个filter还是一个真正简单的select器的方法就是知道它是干什么的,如果你对select器不熟悉,通常意味着引用jQuery他人在这里提到的文件 。 您会注意到,大多数这些基于匹配的filter将在其描述中的某个位置具有“匹配”一词; 这是一个合理的指标,即“伪select器”作为基于匹配的filter。
在jQuery中有一个名为Basic Filters的select器子类,但名称完全是误导性的,而select器本身分类很差; 不是所有的都是实际的filter,但其中一些function像标准的伪类! 至lessjQuery扩展类别有一个正确的名称 – 因为这些select器是非标准的。
我称之为“基于匹配的filter”基本上是一个select器,它匹配一个基于整个复杂select器的元素, 并引导到该select器 。 声音混乱? 那是因为它。
实际上,为了便于参考,下面是一个用作基于匹配filter的jQueryselect器列表:
-
:eq()
-
:gt()
-
:lt()
-
:even
-
:odd
-
:first
-
:last
这些select器在一组匹配中返回第n个元素,而不是其他的标准select器,这些select器只取决于由DOM提供的有关元素的信息或者以其他方式提供的元素的信息,不基于select器string的其余部分。 虽然他们经常被比作:first-child
, :last-child
, :nth-child()
和:nth-last-child()
,他们在function上有很大的不同。 在select使用哪个select器时要非常小心。
例如,下面的select器,使用jQuery的:first
:
$('ul > li:first')
只匹配一个元素:匹配select器ul > li
的第一个元素,而不pipeDOM中有多less个ul
和li
元素。 这个select符符号可以写成如下所示的方法调用:
$('ul > li').first()
这使得它实际上做得更清楚。 它不同于:first-child
:
$('ul > li:first-child')
在那里:first-child
将select每个li
是其父母的第一个孩子,因此可能会返回一个或多个 li
元素,而不是一个:first
。
另外值得一提的是:not()
select器; 尽pipe我不认为它和上面的select器是同一种filter,但重要的是要记住,jQuery将它从CSS中实际提供的内容中进行了扩展。 在这个问题上详细的差异。 我想它是归类于基本filter,因为.not()
,这是绝对的所有意图和目的过滤方法,和.filter()
的对立面。
jQueryselect器实用程序function的思想是接受任何cssselect器(包括css3select器),除此之外还添加了一些未在css规范中定义的额外值(例如:odd(在有效的css中是:第n个孩子(奇数))和:不是(select器))。 强烈build议不要使用jQuery特定的select器,除非真的有必要,因为本地cssselect器可以比自定义jQuery css更快地处理(在现代webbrowsers中)。 正如gdoron已经提到的,如果你需要检查一个特定的select器是否可用,你可以在jquery文档中看到完整的列表,你也可以在那里find自定义的select器。
是的,该select器存在于jQuery中
select器被称为下一个相邻的select器
你可以在这里看到完整的select器列表
有没有人有任何智能提示,知道它是一个CSSselect器或正在使用的JQueryfilter?
我的提示,检查API,如果select器存在或不…