http://jsfiddle.net/sushilbharwani/zWgNX/我试图理解>选择器我想知道为什么小提琴给出的大小为4. 2是我想到的。 3可能是可能的,但为什么4。
HTML:
<div class="ban_hdr">
<p>
Which of the following are correct? abc abc
<p>Test this code</p>
</p>
<p>Which of the following are correct? pqr pqr</p>
</div>
jQuery的:
alert($('div.ban_hdr > p').size());
答案 0 :(得分:6)
我在Chrome的开发者工具中提取了源代码,至少谷歌Chrome如何解释你的来源:
<div class="ban_hdr">
<p>
Which of the following are correct? abc abc
</p>
<p>Test this code</p>
<p></p>
<p>Which of the following are correct? pqr pqr</p>
</div>
<p>
代码无法嵌套在<p>
代码中。所以,这显然是Chrome对你的意思的最好诠释。去搞清楚。当您使用无效代码时,请注意无意义的结果。
答案 1 :(得分:4)
由于您的P
代码已嵌套(不允许使用),浏览器会将其重新排列为:
<p> Which of the following are correct? abc abc </p>
<p>Test this code</p>
<p></p>
<p>Which of the following are correct? pqr pqr</p>
现在很容易看出为什么结果是4。
答案 2 :(得分:3)
您无法嵌套p
标记。此HTML的呈现输出为:
<div class="ban_hdr">
<p>
Which of the following are correct? abc abc</p> <!-- 1 -->
<p>Test this code</p> <!-- 2 -->
<p></p> <!-- 3 -->
<p>Which of the following are correct? pqr pqr</p> <!-- 4 -->
</div>