如题,请问那种方式效率高一点?html是<div id="tag"></div>HTMLjquery

解决方案 »

  1.   

    要说效率还是document.getElementById("tag")最高的,其他访问方式都是经过封装的
      

  2.   

    对啊,楼上说的都对,但是dom对于浏览器的支持不是很好
    还是$(“#tag”)好,还是具体情况具体对待...
      

  3.   


    如果是class
    $(".tag") 和  $("div.tag") 这样呢?
      

  4.   

    $("#tag")  //dom中查找匹配tag$("div #tag")//便利所有div 匹配再tag
      

  5.   


    暂不考虑原生的写法,只考虑jquery。
      

  6.   


    暂不考虑原生的写法,只考虑jquery。
    这样的话,那肯定是$("#tag")效率高
      

  7.   

    关键你是要明白查找过程:
    $(".tag")直接查到所有class=tag
    $("div.tag")先查找所有div再查找含有class=tag
    ====至于效率这个有就说不定了,要看节点情况。
      

  8.   


    根据我的记忆,貌似正好相反。div.tag是先找到class=tag的标签,然后在筛选出tagName为div的元素。
    因此,div#tag完全是画蛇添足。
      

  9.   

    $("div#tag")在新浏览器中Jquery会尽可能的调用document.querySelectorAll()
    效率应该不比问$("#tag")低多少
      

  10.   


    根据我的记忆,貌似正好相反。div.tag是先找到class=tag的标签,然后在筛选出tagName为div的元素。
    因此,div#tag完全是画蛇添足。
    呵呵,我理解的就是这样的:
    选择器是从左到右$("div.tag")会先执行$("div")然后调用find(".tag",$("div"))进行筛选。
      

  11.   

    jquery代码性能优化技巧博客园发过的一篇文章,楼主参考
      

  12.   

    $("#tag")是效率最好的,只要是直接通过属性去查找的,效率都比其他的要高,它不用层层查找,只需要找到相应属性标签就够了!
      

  13.   

    $("div#tag") 是遍历所有的div然后找到id为tag的,那$("#tag")难道不是遍历所有的节点然后找到id为tag的么?
      

  14.   

    所以到最后这个getElementById内部是怎么实现的? 是否采用了类似java的HashMap的结构呢