上下文:我正在建立一个喜欢的人 使用html localstorage的系统 API(带有php会话回退)。如果有一个受欢迎的项目 页面,用js ...添加班级'收藏'
如果我不知道元素id是否会出现在页面上。是否最好先检查它是否存在,还是jQuery会以同样有效的方式返回false
?
答案 0 :(得分:0)
无论哪种方式,你总是会执行$()
。因此,保持一个变量引用该方法的结果,并通过检查它是否存在,不会有效率损失(或高度可忽略的损失)。
答案 1 :(得分:0)
最有可能的不是。如果jQuery找不到匹配项,它将无需枚举,只会继续。换句话说,这样的事情是不必要的:
var $favorite = $("#favorite");
if ($favorite.length) { // Test whether it exists
$favorite.doSomething();
}
最好写成:
$("#favorite").doSomething();
答案 2 :(得分:0)
有类似情况的测试代码on jsperf。
if ($('#item_123').length === 1) {
$('#item_123').remove();
}
<强> VS 强>
$('#item_123').remove(); //this turned out slower for me in chrome 13