Jquery 为什么'li a'和'li:has(a)`不同?
在应用Jquery 为什么'li a'和'li:has(a)`不同?,jquery,jquery-selectors,Jquery,Jquery Selectors,在应用li时,a和li:has(a)会显示不同的结果。但是,为什么呢?他们不应该做同样的事情吗 他们不应该做同样的事情吗 否。在第一个示例中,您选择了li中的所有a;在第二个选项中,您将选择所有具有a的li 我的重点是: 描述:选择至少包含一个与指定选择器匹配的元素的元素 表达式$('div:has(p)与匹配,前提是存在于其子代中的任何位置,而不仅仅是直接子代 他们不应该做同样的事情吗 否。在第一个示例中,您选择了li中的所有a;在第二个选项中,您将选择所有具有a的li 我的重点是: 描述:选
li时,a
和li:has(a)
会显示不同的结果。但是,为什么呢?他们不应该做同样的事情吗
他们不应该做同样的事情吗
否。在第一个示例中,您选择了li
中的所有a
;在第二个选项中,您将选择所有具有a
的li
我的重点是:
描述:选择至少包含一个与指定选择器匹配的元素的元素
表达式$('div:has(p)
与匹配,前提是
存在于其子代中的任何位置,而不仅仅是直接子代
他们不应该做同样的事情吗
否。在第一个示例中,您选择了li
中的所有a
;在第二个选项中,您将选择所有具有a
的li
我的重点是:
描述:选择至少包含一个与指定选择器匹配的元素的元素
表达式$('div:has(p)
与匹配,前提是
存在于其子代中的任何位置,而不仅仅是直接子代
li a
匹配具有li祖先的所有a元素li:has(a)
匹配所有具有a后代的li元素。@Šime Vidas。你能进一步澄清这一区别吗?显然,我曾经在这里为同一个问题写过一个充满行话的答案:但是关于佩卡答案的评论对你来说应该足够简单。li a
匹配所有具有li祖先的a元素li:has(a)
匹配所有具有a后代的li元素。@Šime Vidas。你能进一步澄清这一区别吗?显然,我曾经在这里为同一个问题写过一个充满行话的答案:但是关于佩卡答案的评论对你来说应该足够简单。当你说:在第一个例子中,你选择了ali
中的所有a
;在第二个示例中,您选择了所有具有a
的li
,这仍然有点混乱。当我在li
中选择所有a
时,这是否意味着li
必须包含一个a
,否则它将不会被选择,这与第二个相同?你能简化一下吗?Thanks@Med-使用第一个选择器可以得到一个元素,使用第二个选择器可以得到LI元素。这就是区别…@MedŠime说得很好。这样的区别清楚吗?“has”是li
的一个属性。它的字面意思是给我所有li元素,这些元素至少有一个子元素的类型为“a”
。当你说:在第一个例子中,你选择了ali
中的所有a
;在第二个示例中,您选择了所有具有a
的li
,这仍然有点混乱。当我在li
中选择所有a
时,这是否意味着li
必须包含一个a
,否则它将不会被选择,这与第二个相同?你能简化一下吗?Thanks@Med-使用第一个选择器可以得到一个元素,使用第二个选择器可以得到LI元素。这就是区别…@MedŠime说得很好。这样的区别清楚吗?“has”是li
的一个属性。它的字面意思是给我所有li元素,这些元素至少有一个子元素类型为“a”
。