Javascript如果元素不存在则返回,导致对象无法正常工作

时间:2016-02-21 14:14:54

标签: javascript

我在检查元素是否存在时遇到问题。

如果文档中不存在元素,我正在使用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

如何使这个东西工作? 处理这个问题的最佳方法是什么?

所以,下一个对象将毫无问题地执行。

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:2)

因为如果该ID没有标记,您就会中止 而且您要按类名选择,而不是ID。

要么你需要改变

if (id == null) {

类似

if (id == null && cl.length == 0 && tag.length == 0) {

或者您应该重写代码以使用querySelectorAll()之类的内容。

Updated fiddle

答案 1 :(得分:0)

return构造将暂停代码范围内的执行。因此,如果您发布的整个代码都是您的脚本,那么一旦满足返回条件,那么在同一范围内的任何内容将不再执行。请记住,JavaScript中的所有内容都限定在功能级别。

示例:

     //call test
     test();

   function test(){

            if(1 === 1){

                 return;//<-- exits the function

            }

     }