【问题标题】:Is there any difference in jQuery("sel1").add("sel2") and jQuery("sel1, sel2")jQuery("sel1").add("sel2") 和 jQuery("sel1, sel2") 有什么区别吗
【发布时间】:2011-08-30 12:12:46
【问题描述】:

嗯,问题就在标题中。多个选择器之间有什么区别(性能,警告)

jQuery("selector1, selector2")

并使用add将元素添加到选择中:

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

【问题讨论】:

标签: javascript jquery jquery-selectors add


【解决方案1】:

是的,第一个将创建一个包含两个选择器匹配的元素的 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.

【讨论】:

  • 如果是,在大多数应用程序中可能可以忽略不计。最大的区别在于语义。
  • 不要忘记 Knuth 的智慧:“过早的优化是万恶之源”。
猜你喜欢
  • 2010-12-19
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 2020-01-19
  • 1970-01-01
  • 2011-01-12
  • 2012-07-12
  • 2013-01-27
相关资源
最近更新 更多