我在主页上使用这个javascript,并且该页面包含元素杂志中的h2标签,警报运行良好。如果我去任何其他没有元素杂志的页面 - 提示框不起作用。我怎么解决这个问题。我的代码是:
window.onload = function(){
var yellows = document.getElementById('magazine-brief').getElementsByTagName('h2');
alert('hi');
}
答案 0 :(得分:2)
您的脚本在第一次调用.getElementById时失败,并且不再执行任何操作。我建议你先检查元素是否存在:
var brief = document.getElementById('magazine-brief');
if (brief !== undefined) { // do the rest }
答案 1 :(得分:0)
如果页面没有id为“magazine-brief”的元素,那么getElementsByTagName
将抛出错误,因为它试图在null上调用方法。你应该得到元素,然后检查它。
答案 2 :(得分:0)
如果所述页面没有任何带有ID的元素“magazine-brief”,那么代码将在那时失败而不会转到下一行代码。
这就是为什么警报是判断代码是否失败的有用方法的原因。您发布的代码将指示页面是否具有元素名称“magazine-id”。