【问题标题】:Strange behaviour of jquery selectorjquery选择器的奇怪行为
【发布时间】:2013-09-19 03:36:50
【问题描述】:

在下面的html代码中:

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

同时

$('div a').length //RETURNS 2 

为什么?

<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 标签内的 Div 是无效的 HTML。
  • 扩展@j08691 所说的内容:因此,HTML 不会按照您的想法呈现。它呈现为&lt;p&gt;&lt;/p&gt;&lt;div id="did1"&gt;..&lt;/div&gt;&lt;div id="did2"&gt;..&lt;/div&gt;&lt;p&gt;&lt;/p&gt;。这就是选择器以它们的方式工作的原因。
  • @RocketHazmat 作为答案发布,这很有帮助并回答了 OP 的问题。
  • @Lavabeams:有人打败了我! :-D

标签: jquery


【解决方案1】:

代码呈现如下:

<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>

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 2013-01-29
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多