加入 jQuery 个已选择的元素
Join jQuery elements that are already selected
我知道要避免在 DOM 树上进行多次搜索,保存所选元素以提高性能是个好主意
var $el = $(".el");
$el.show();
...
...
$el.show();
...
...
$el.on('click', function(){...});
但是现在我有几个项目在变量中分开,我想有时对其中几个进行相同的操作,有时对它们进行不同的操作。我当然可以这样做:
var $button1 = $('.button1');
var $button2 = $('.button2');
...
...
$button1.on('click', doSomething);
$button2.on('click', doSomethingDifferent);
...
...
$button1.css(newStyles);
$button2.css(newStyles);
但是这样一来,我的代码就不是很干了。
如果我不遵循将它们保存到变量中的方法,我的代码会变得更加枯燥,但效率会降低
$('.button1').on('click', doSomething);
$('.button2').on('click', doSomethingDifferent);
...
...
$('.button1, .button2').css(newStyles);
有没有办法兼得两个世界的优点?
这是我想到的一些伪代码..
var $button1 = $('.button1');
var $button2 = $('.button2');
var $buttons = $.group($button1, $button2);
...
...
$button1.on('click', doSomething);
$button2.on('click', doSomethingDifferent);
...
...
$buttons.css(newStyles);
也许不足为奇,您使用 add
:
$button1.add($button2).add($button3).doSomething();
我知道要避免在 DOM 树上进行多次搜索,保存所选元素以提高性能是个好主意
var $el = $(".el");
$el.show();
...
...
$el.show();
...
...
$el.on('click', function(){...});
但是现在我有几个项目在变量中分开,我想有时对其中几个进行相同的操作,有时对它们进行不同的操作。我当然可以这样做:
var $button1 = $('.button1');
var $button2 = $('.button2');
...
...
$button1.on('click', doSomething);
$button2.on('click', doSomethingDifferent);
...
...
$button1.css(newStyles);
$button2.css(newStyles);
但是这样一来,我的代码就不是很干了。
如果我不遵循将它们保存到变量中的方法,我的代码会变得更加枯燥,但效率会降低
$('.button1').on('click', doSomething);
$('.button2').on('click', doSomethingDifferent);
...
...
$('.button1, .button2').css(newStyles);
有没有办法兼得两个世界的优点?
这是我想到的一些伪代码..
var $button1 = $('.button1');
var $button2 = $('.button2');
var $buttons = $.group($button1, $button2);
...
...
$button1.on('click', doSomething);
$button2.on('click', doSomethingDifferent);
...
...
$buttons.css(newStyles);
也许不足为奇,您使用 add
:
$button1.add($button2).add($button3).doSomething();