繁体   English   中英

结合jQuery选择器

[英]combining jQuery selectors

我的IDE抱怨jQuery选择器使用效率低下,我想知道是否有更好的方法可以做到这一点。 谢谢

    $('#login2').addClass('inactive');
    $('#login2>input').attr("disabled", 'true');

$('#login2')分配给var:

var $login = $('#login2');

$login.addClass('inactive');
$login.find('input').prop('disabled', true);

也应该能够链接,但是(对我而言)会变得凌乱:

$login.addClass('inactive').find('input').prop('disabled', true);

效率低下的原因是,您的第二个查询可以针对#login2元素下面的DOM的特定子集,而您从两个查询的DOM的顶层开始。

将第一个查询结果缓存到具有

var $login = $('#login2');

然后调用.find进行下一个查询。 这样,jQuery只需遍历较小的子树即可找到input元素。

jQuery具有.prop()来更改元素属性,因此尽管使用.attr()可以工作,但建议使用.prop()

$("#login2>input").prop("disabled", true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM