var a = $("#stra li");
var b = $("li",'#strc');
求教 这两种写法有什么不一样

解决方案 »

  1.   


    //先getElementByTagName("li")
    //然后过滤掉parent路径上没有id为stra的元素
    var a = $("#stra li");//先getElementById("stra")
    //然后把该DOM对象作为上下文范围,查找tagName为li的元素。
    var b = $("li",'#stra');在某些场合下,得到的结果可能会不同。
      

  2.   

    <script type="text/javascript" src="jquery.js"></script><div id="tw_content">
       <dl class="1">
           <dt class="userPic">标题1</dt>
       <dd>测试的内容1 </dd>
       </dl>
        <dl class="2">
           <dt class="userPic">标题2</dt>
       <dd>测试的内容2</dd>
       </dl>
        <dl class="3">
           <dt class="userPic">标题3</dt>
       <dd>测试的内容 3</dd>
       </dl>
        <dl class="4">
           <dt class="userPic">标题4</dt>
       <dd>测试的内容4</dd>
       </dl>
        <dl class="5">
           <dt class="userPic">标题5</dt>
       <dd>测试的内容5 </dd>
       </dl>
        <dl class="6">
           <dt class="userPic">标题6</dt>
       <dd>测试的内容 6</dd>
       </dl>
    </div><script> 
    /*
     **** 实现的原理   
     *  每次总有一个隐藏的,看到的最后一个为倒数第二个 
    */
     function slideIt() {
    var obj = $('dl','#tw_content');// ***  
     obj.last().hide();
     /*
        下面这种写法就无法隐藏
           var obj = $('#tw_content','dl');
       obj.last().hide();
     */
     };
    slideIt() ;
    </script>
      

  3.   

    <script type="text/javascript" src="jquery.js"></script><div id="tw_content">
       <dl class="1">
           <dt class="userPic">标题1</dt>
       <dd>测试的内容1 </dd>
       </dl>
        <dl class="2">
           <dt class="userPic">标题2</dt>
       <dd>测试的内容2</dd>
       </dl>
        <dl class="3">
           <dt class="userPic">标题3</dt>
       <dd>测试的内容 3</dd>
       </dl>
        <dl class="4">
           <dt class="userPic">标题4</dt>
       <dd>测试的内容4</dd>
       </dl>
        <dl class="5">
           <dt class="userPic">标题5</dt>
       <dd>测试的内容5 </dd>
       </dl>
        <dl class="6">
           <dt class="userPic">标题6</dt>
       <dd>测试的内容 6</dd>
       </dl>
    </div><script> 
    /*
     **** 实现的原理   
     *  每次总有一个隐藏的,看到的最后一个为倒数第二个 
    */
     function slideIt() {
    var obj = $('dl','#tw_content');// ***  
     obj.last().hide();
     /*
        下面这种写法就无法隐藏
           var obj = $('#tw_content','dl');
       obj.last().hide();
     */
     };
    slideIt() ;
    </script>
    你这样的写法二个结果肯定是不一样
    应该得
       function slideIt() {
           var obj = $('dl', '#tw_content'); // ***  
            obj.last().hide();
            
            //下面这种写法就无法隐藏
            var obj = $('#tw_content dl');
            obj.last().hide();
            
        };
    $('dl', '#tw_content') 和 $('#tw_content', 'dl') 是完全二个概念 
    第一个分号前 表示要子级,后面的表示父级, 
    $('#tw_content li')  和 $('dl', '#tw_content')   二者的概念是一样,至于特殊情况下会不会出现不同的结果目前还没测试出来
      

  4.   


    貌似没什么区别。
    $(selectorA,selectorB)和$(selectorB).find(selectorA)是等价的,在源码里可以看到,双选择器时调用了find方法。而find貌似会去重,所以好像是没差别。
      

  5.   


    貌似没什么区别。
    $(selectorA,selectorB)和$(selectorB).find(selectorA)是等价的,在源码里可以看到,双选择器时调用了find方法。而find貌似会去重,所以好像是没差别。 
    $("#tw_content li") , 
    $("li","#tw_content"), 
    $("#tw_content").find("li")
    这三者结果都一样 ,主要是看理解的程序了,那种在实际的应用中效果高点,我一般是用,1和3种,第2种用的少,也没具体的了解过性能的比较,习惯问题吧。我看3楼那会写成
    $("li","#tw_content"), 
    $("#tw_content","li"),  拿这二种比较隐藏的例子,$("#tw_content","li"), 这种方式肯定是隐藏不了, 因为跟$("li","#tw_content"), 是二个概念了, 正确应该写成 
    $("#tw_content li") , 
    $("li","#tw_content"), 
      

  6.   


    貌似没什么区别。
    $(selectorA,selectorB)和$(selectorB).find(selectorA)是等价的,在源码里可以看到,双选择器时调用了find方法。而find貌似会去重,所以好像是没差别。 
    $("#tw_content li") , 
    $("li","#tw_content"), 
    $("#tw_content").find("li")
    这三者结果都一样 ,主要是看理解的程序了,那种在实际的应用中效果高点,我一般是用,1和3种,第2种用的少,也没具体的了解过性能的比较,习惯问题吧。我看3楼那会写成
    $("li","#tw_content"), 
    $("#tw_content","li"),  拿这二种比较隐藏的例子,$("#tw_content","li"), 这种方式肯定是隐藏不了, 因为跟$("li","#tw_content"), 是二个概念了, 正确应该写成 
    $("#tw_content li") , 
    $("li","#tw_content"), 误导人。
    第2跟第3是一模一样的。