我經常在#form
和#edit
之間切換。哪個選擇器更快。選擇第一個還是第二個選擇器會更好?jQuery切換選擇器,這是更好的
var $form = $('#form');
var $edit = $('#edit');
$form.toggle();
$edit.toggle();
或
$('#form, #edit').toggle();
我經常在#form
和#edit
之間切換。哪個選擇器更快。選擇第一個還是第二個選擇器會更好?jQuery切換選擇器,這是更好的
var $form = $('#form');
var $edit = $('#edit');
$form.toggle();
$edit.toggle();
或
$('#form, #edit').toggle();
「最快」的解決方案根本不是使用.toggle()
,而是.css()
。
$formEdit = $('#form, #edit');
if ($formEdit.css(':hidden')) {
$formEdit.css('display', 'block');
} else {
$formEdit.css('display', 'none');
}
資源:http://www.learningjquery.com/2010/05/now-you-see-me-showhide-performance
怎麼樣:
$formEdit = $('#form, #edit');
$formEdit.toggle();
//than you can use the combo selector later as well
第二個:$('#form, #edit').toggle();
是有效的方法。
簡答:取決於。
你打算在另一個地方再次做這個操作,還是這是一次性的事情?如果這是一個一次性的事情,還有的將是幾乎沒有區別,但幾乎總是使用內置的功能是最快的:
$('#form').add('#edit').toggle();
如果你想再次引用這些相同的項目,絕對將它們保存到一個變量,就像你的第一個例子,或者像Neal建議的那樣,將它們保存到同一個變量中。
我的字 「快」 死了。 – BoltClock 2011-04-18 19:18:11
@BoltClock,考慮到你的迴應,Pinkie是否值得名譽巫師徽章呢? – 2011-04-18 19:21:25
這不應該打擾你,因爲它幾乎不會影響整體表現,但可能第二種方法更好,因爲腳本更小 – Zlatev 2011-04-18 19:22:07