jquery选择器的奇怪行为

jquery选择器的奇怪行为,jquery,Jquery,在以下html代码中: $('p div').length //RETURNS 0 当 $('div a').length //RETURNS 2 为什么? 1 2 三 代码呈现如下: <p></p> <div id="did1"> <a id='aid1' class="class1"> one </a> <a id='aid2' class="class2">

在以下html代码中:

$('p div').length  //RETURNS 0

$('div a').length //RETURNS 2 
为什么?


1
2
三


代码呈现如下:

<p></p>
<div id="did1">
    <a id='aid1' class="class1">
    one     
     </a>   
    <a id='aid2' class="class2">
    two     
    </a>
</div>
<div id="did2">
    three
</div>     
<p></p>

1 2 三


jQuery在任何
p
元素中都找不到任何
div
元素。

p标记中的div是无效的HTML。扩展一下@j08691所说的内容:正因为如此,HTML没有按您的想法呈现。它被呈现为

。这就是为什么选择器的工作方式。@RocketHazmat post作为答案,这很有帮助,并回答了OP的问题。@Lavabeams:有人打败了我!:-D
<p></p>
<div id="did1">
    <a id='aid1' class="class1">
    one     
     </a>   
    <a id='aid2' class="class2">
    two     
    </a>
</div>
<div id="did2">
    three
</div>     
<p></p>