var round1 = output.parentNode.parentNode.parentNode.getElementsByTagName('a')[0].innerHTML
Internet Explorer 7 では、コードが 9 ff で明確に機能し、提案があればクロムで処理すると、「プロパティ 'innerHTML' の値を取得できません: オブジェクトが null または未定義です」というエラーが表示されます。
var round1 = output.parentNode.parentNode.parentNode.getElementsByTagName('a')[0].innerHTML
Internet Explorer 7 では、コードが 9 ff で明確に機能し、提案があればクロムで処理すると、「プロパティ 'innerHTML' の値を取得できません: オブジェクトが null または未定義です」というエラーが表示されます。
これをしないでください。つまり、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 || "";
「a」タグがないように見えるoutput.parentNode.parentNode.parentNode
ので、getElementsByTagName('a')[0]
戻りますnull
;)