2017-02-07 2 views
0

мой JS код отлично работает в Chrome и IE, но в Firefox консоль говорит:document.getElementsByName() не является функцией в светлячок

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 * document * – Bergi

+1

. Обходной путь: 'xmlDoc.querySelector (" [name = '"+ nextSectionName +"'] ");' для получения первого. Или используйте 'querySelectorAll', если вы хотите получить их все. –

+1

'getElementsByName()' является частью HTML DOM, поэтому он не будет доступен при анализе XML. –

ответ

1

определенные свойства window.document существуют только на HTML documents, а не на XML documents в целом. К ним относятся такие атрибуты, как .referrer, .head, .body или .images, а также методы, такие как .write(), .execCommand() или .getElementsByName().

В документе XML вы должны использовать только идентификаторы и классы, атрибуты name не имеют смысла. Если вы абсолютно должны соответствовать именам, используйте селектор атрибутов.

Смежные вопросы