我可以将几个命令附加到同一个jQuery选择器

Alo*_*lon 4 javascript jquery selector

简单来说:

这是:

$('#password').html('Weak').css({'background-color' : '#FF0000' , 'color' : '#FFFFFF'});
Run Code Online (Sandbox Code Playgroud)

等于这个?

$('#password').css({'background-color' : '#FF0000' , 'color' : '#FFFFFF'});
$('#password').html('Weak')
Run Code Online (Sandbox Code Playgroud)

它们对我来说也是一样的 - 但我只是想确保它们真的一样......

Mat*_*att 6

几乎.

$('#password').html('Weak').css({'background-color' : '#FF0000' , 'color' : '#FFFFFF'});
Run Code Online (Sandbox Code Playgroud)

jQuery为选择器构建一次对象#password.

$('#password').css({'background-color' : '#FF0000' , 'color' : '#FFFFFF'});
$('#password').html('Weak')
Run Code Online (Sandbox Code Playgroud)

jQuery为选择器构建一个对象#password两次.

这次重要吗?不是真的:#something高度优化的 jQuery中快速使用document.getElementById正确的元素相匹配.

但是,如果你有

$('input[value^=your_complex_selector],div div div,img[src$=.jpg]')
Run Code Online (Sandbox Code Playgroud)

并且你不停地一次又一次地调用它而不缓存它......你可以看到我们要去的地方.

通过将jQuery对象分配给变量,您可以获得链接的性能优势,而不会丢失可读性:

var password = $('#password');
password.css({'background-color' : '#FF0000' , 'color' : '#FFFFFF'});
password.html('Weak');
Run Code Online (Sandbox Code Playgroud)