2017-02-07 3 views
0

では関数ではありません、私のjsのコードはChromeとIEで正常に動作しますが、Firefoxではコンソールは言う:document.getElementsByName()はFirefoxの

TypeError: xmlDoc.getElementsByName is not a function

var nextSectionName = actSection.getElementsByTagName("clickArea")[actClickArea].getAttribute('linkTo'); 
actSection = xmlDoc.getElementsByName(nextSectionName)[0]; 

XMLDOCは単なるXMLファイルとactSection = xmlDoc.getElementsByTagName("section")[0];ですまた、うまく動作します。

+1

「XMLファイル」とはどういう意味ですか?それはHTML *文書でなければなりません。 – Bergi

+1

回避策は次のとおりです: 'xmlDoc.querySelector(" [name = '"+ nextSectionName +"'] ");'また、それらをすべて取得したい場合は、 'querySelectorAll'を使用してください。 –

+1

'getElementsByName()'はHTML DOMの一部であるため、XMLの解析時には使用できません。 –

答えて

1

window.documentから知っている特定のプロパティは、にのみ存在し、XML documentsには一般的に存在しません。これらは、.referrer,.head,.bodyまたは.imagesなどの属性、および.write(),.execCommand()または.getElementsByName()などの属性を含みます。

XMLドキュメントでは、idsとクラスのみを使用してください。name属性は無意味です。絶対に名前と一致する必要がある場合は、属性セレクタを使用します。