search

Home  >  Q&A  >  body text

javascript - jQuery选择器优化问题,使用$('#a>.b'),IDE会提示这是低效的用法?

使用$('#a>.b'),提示:
Checks that jQuery selectors are used in an efficient way. It suggests to split descendant selectors which are prefaced with ID selector and warns about duplicated selectors which could be cached.

没看懂它说要干嘛,只看懂了说要把有id选择器为前缀的后代选择器分开来,然后说要缓存...那到底是要怎么分开来?$('#a').find('.b')这样吗?缓存的话,我只用到一次啊,没必要缓存啊

=========

好吧,连歪果仁都不知道
http://stackoverflow.com/questions/12674591/inefficient-jquery-usage-warnings-in-phpstorm-ide

伊谢尔伦伊谢尔伦2774 days ago714

reply all(3)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 15:29:32

    $('#a>.b')  
    

    如果浏览器不支持document.querySelector()那么jquery就会利用sizzle模块切割选择器在用find方法查询。

    $('#a').find('.b') 
    

    直接find查询

    个人见解,有误请指正。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:29:32

    phpvar a = $('#a');//缓存
    var a = a.find('.b');
    

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 15:29:32

    我这也提示这种, 但是有个bug我不确定是不是这,因为写着缓存....
    选择1-30服,结果却是修改了所有服数据...,这个会发生吗?$('#selectserver').val()....

    reply
    0
  • Cancelreply