我很好奇以下哪个(理论上)在DOM效率方面更好。我意识到两个片段本身可能更简洁,但我真的想知道何时何地使用和if / else与两个不同的jquery调用。
Snippet 1
$('.ele').click(function() {
if ($(this).hasClass('force')) {
//use it
} else {
//hide
}
});
Snippet 2
$('.ele.force').click(function() {
//use it
});
$('.ele.ring').click(function() {
//hide
});
答案 0 :(得分:0)
避免条件语句并使用函数总是好的。如果我们不知道事件触发时的状态,我们最终可能会在函数中使用条件。
但我们知道如果element(.ele)
有.force
类,则行为为//use it
,否则为//hide
。所以最好有两个独立的事件处理程序。
注意:使用.on()/.live()
进行此类绑定非常安全,因为该元素可能会更改其状态。