我经常在#form
和#edit
之间切换。哪个选择器更快。使用第一个或第二个选择器更好吗?
var $form = $('#form');
var $edit = $('#edit');
$form.toggle();
$edit.toggle();
或
$('#form, #edit').toggle();
答案 0 :(得分:2)
怎么样:
$formEdit = $('#form, #edit');
$formEdit.toggle();
//than you can use the combo selector later as well
答案 1 :(得分:2)
简短回答:这取决于。
你打算在另一点再次做这个操作,还是这是一次性的事情?如果它是一次性的话,几乎没有区别,但几乎总是使用内置函数是最快的:
$('#form').add('#edit').toggle();
如果您要再次引用这些相同的项目,请将它们保存到变量中,如第一个示例中所示,或者如Neal建议的那样,将它们保存到同一个变量中。
答案 2 :(得分:2)
“最快”的解决方案是根本不使用.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
答案 3 :(得分:1)
第二个:$('#form, #edit').toggle();
是有效的方式。