var round1 = output.parentNode.parentNode.parentNode.getElementsByTagName('a')[0].innerHTML
Internet Explorer 7 给我错误“无法获取属性'innerHTML' 的值:对象为空或未定义”,当代码清楚地适用于 ie 9 ff 和 chrome 任何建议时。
var round1 = output.parentNode.parentNode.parentNode.getElementsByTagName('a')[0].innerHTML
Internet Explorer 7 给我错误“无法获取属性'innerHTML' 的值:对象为空或未定义”,当代码清楚地适用于 ie 9 ff 和 chrome 任何建议时。
只是不要这样做,即parentNode
反复调用,甚至不知道它是什么。DOM 看起来可能与您预期的大不相同。这与仅仅为了方便不进行任何范围检查一样聪明。
改用防御性和灵活的方法(或者,使用像 jQuery 这样的框架来完成繁重的工作)。
function closest(node, tagName) {
var parent = node.parentNode;
if (parent) {
if (parent.tagName && parent.tagName.toUpperCase() === tagName.toUpperCase()) {
return parent;
}
return closest(parent, tagName);
}
}
var container = closest(node, "table");
var firstLink = container.getElementsByTagName('a')[0];
var round1 = firstLink.innerHTML || "";
output.parentNode.parentNode.parentNode
所以getElementsByTagName('a')[0]
返回中似乎没有“a”-Tag null
;)