采取以下简单功能:
$ = function(expr, con) {
return typeof expr === "string"? (con || document).querySelector(expr) : expr || null;
}
如果元素在DOM中可用,则效果很好。如果不是,则会出现Typeerror并停止JS解析。
我不想检查每个元素是否存在:
if($("elem")) $("elem").innerHTML = "...";
我只想打电话
$("elem").innerHTML = "...";
当元素不可用时不会出现错误。
最佳答案
这是我认为您可以做的:
$ = function(expr, con) {
var el = typeof expr === "string"? (con || document).querySelector(expr) : expr || null;
return el || document.createElement("div");
}
$("elem").innerHTML = "...";
这样就不会出现任何错误,因为如果您的元素不可用,该函数将返回一个ghost元素
关于javascript - 当元素不可用时如何绕过JS Uncaught Typeerror,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31664190/