html
<p><ol><li>Hello</li></ol></p><p>How are you?</p>
jQuery 代码:$("p").filter(function(index) {
  return $("ol", this).length == 0;
});
请问 选择器里  $("ol", this)   这句话加个this是什么意思? 

解决方案 »

  1.   

    在this里作ol这个选择器提取,this指前面已提取的p的jQuery对象.
      

  2.   

    this表示$选择器的作用域
    这里的this就是指p了,
    $("ol",this);本来会查找页面中所有的ol的,现在只查找p中的ol
      

  3.   


    谢谢指教,这个选择器的作用域为什么这样用不对呢?难道只能用this?<p>
    <ol>
    <li>Hello</li>
    </ol>
    </p><p>
    <div id="aa">abc</div>
    </p>
    $("p").filter(function(index) {
       return $("ol", $("#aa")).length == 0;
    })
      

  4.   

    可以不用this的(你试下
    <div id="div1">
    <h6>可以的应该</h6>
    <h6>可以的应该</h6>
    <h6>可以的应该</h6>
    </div>
    <div id="div2">
    <h6>可以的应该</h6>
    </div>
    alert($("h6",$("#div2")).size());
    就知道了),可能是别的问题
      

  5.   

    this指向的应该是元素p,不是一个jquery对象,是一个dom元素。
      

  6.   

    jquery 操作的都是对象
    this就是指当前返回的对象