我在检查元素是否存在时遇到问题。
如果文档中不存在元素,我正在使用return;
。此方法导致整个对象不再起作用。
看看这个小提琴:https://jsfiddle.net/LcwLm5bb/
看到这一行:
$("#notExist").focus(); // this element not exist on document, so I call this below condition
if (id == null) {
return; // this will shutdown the object for executing other object;
}
// ^ this code will cause next object not working anymore.
$(".child3").html("hahahahahaha"); // <--- not working anymore
如何使这个东西工作? 处理这个问题的最佳方法是什么?
所以,下一个对象将毫无问题地执行。
我的代码出了什么问题?
答案 0 :(得分:2)
因为如果该ID没有标记,您就会中止 而且您要按类名选择,而不是ID。
要么你需要改变
if (id == null) {
类似
if (id == null && cl.length == 0 && tag.length == 0) {
或者您应该重写代码以使用querySelectorAll()
之类的内容。
答案 1 :(得分:0)
return构造将暂停代码范围内的执行。因此,如果您发布的整个代码都是您的脚本,那么一旦满足返回条件,那么在同一范围内的任何内容将不再执行。请记住,JavaScript中的所有内容都限定在功能级别。
示例:
//call test
test();
function test(){
if(1 === 1){
return;//<-- exits the function
}
}