【发布时间】:2018-02-12 23:11:43
【问题描述】:
我有一个 javascript,我在
中声明了所有变量$(document).ready(function(){
//variables
});
这些变量的值也会被初始化,并且大部分是 HTML 元素。元素是通过document.GetElementById() 使用ID 确定的。其中一些元素仅存在于尚未加载到浏览器中的不同页面中。当保存元素的变量用于不同目的时,这会导致空错误。
var container_element = document.getElementById('unique-id');
var count = container_element.getElementsByTagName("div").length;
由于具有“unique-id”的元素存在于浏览器中未加载的另一个页面中,因此第二行将返回错误,因为container_element 为空。为了解决这个问题,我将代码更改为
var container_element = document.getElementById('unique-id');
if(container_element) {
var count = container_element.getElementsByTagName("div").length;
}
这是处理此类事情的唯一方法吗?我是否必须对通过变量调用的每个函数进行空值检查,或者是否有任何其他解决方案或标准/最佳实践?
【问题讨论】:
-
是的,这是一般的想法。如果您不知道是否有实际元素,请检查条件。
标签: javascript html dom web