Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery(“sel1”)中是否有任何差异。添加(“sel2”)和jQuery(“sel1,sel2”)_Javascript_Jquery_Jquery Selectors_Add - Fatal编程技术网

Javascript jQuery(“sel1”)中是否有任何差异。添加(“sel2”)和jQuery(“sel1,sel2”)

Javascript jQuery(“sel1”)中是否有任何差异。添加(“sel2”)和jQuery(“sel1,sel2”),javascript,jquery,jquery-selectors,add,Javascript,Jquery,Jquery Selectors,Add,问题就在标题里。多个选择器之间是否存在任何差异(性能、注意事项) jQuery("selector1, selector2") 并使用add将元素添加到选择中: jQuery("selector1").add("selector2") 是的,第一个将创建一个jQuery对象,其中包含两个选择器匹配的元素。第二个将创建一个具有与第一个选择器匹配的元素的对象,然后创建并返回一个包含这两个元素的新对象,而不修改第一个对象 例如: var jq1 = $('h1, h2'); // Will con

问题就在标题里。多个选择器之间是否存在任何差异(性能、注意事项)

jQuery("selector1, selector2")
并使用
add
将元素添加到选择中:

jQuery("selector1").add("selector2")

是的,第一个将创建一个jQuery对象,其中包含两个选择器匹配的元素。第二个将创建一个具有与第一个选择器匹配的元素的对象,然后创建并返回一个包含这两个元素的新对象,而不修改第一个对象

例如:

var jq1 = $('h1, h2'); // Will contain all <h1> and <h2> elements.

jq1.add('h3');
alert(jq1.filter('h3').length); // Will alert 0, because the 
                                // original object was not modified.

jq1 = jq1.add('h3');
alert(jq1.filter('h3').length); // Will alert the number of <h3> elements.
var jq1=$('h1,h2');//将包含所有和元素。
jq1.添加(“h3”);
警报(jq1.filter('h3')。长度);//将向0发出警报,因为
//未修改原始对象。
jq1=jq1.加上('h3');
警报(jq1.filter('h3')。长度);//将通知元素的数量。

如果是,在大多数应用程序中,它可能可以忽略不计。最大的区别在于语义。别忘了Knuth的智慧:“过早优化是万恶之源”。有趣的是(或者至少,我无法解释)使用
add
似乎更快(在Chrome/WinXP上):参见: