结合jQuery选择器

时间:2016-05-26 03:58:24

标签: jquery

我的IDE抱怨jQuery选择器的效率不高,我想知道是否有更好的方法来实现这一点。感谢

.infomsg {display:none;}

3 个答案:

答案 0 :(得分:1)

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

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

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

也应该能够连锁,但(对我来说)可能会变得混乱:

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

答案 1 :(得分:1)

当您的第二个查询可以定位#login2元素下面的DOM的特定子集时,您从两个查询的DOM顶级开始就会产生效率低下。

使用

将第一个查询结果缓存到变量中
var $login = $('#login2');

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

答案 2 :(得分:0)

jQuery有.prop()来更改元素属性,因此在使用.attr()时会有效,建议使用.prop()

$("#login2>input").prop("disabled", true);
相关问题