У меня есть документ SVG, в котором я использую JavaScript для выделения элементов при наведении курсора. Все мои элементы имеют имена - некоторые элементы имеют одно и то же имя, потому что, хотя они появляются несколько раз, они логически ссылаются на одно и то же. Когда один экземпляр реплицируемого элемента наведен, я хочу, чтобы все они были выделены.
Чтобы произвести подсвечивание, я смотрю название элемента, над которым наведен курсор. Затем я звоню document.getElementsByName()
, чтобы найти все элементы, разделяющие это имя. С возвращенным массивом элементов я итеративно применяю соответствующий стиль для выделения.
Это прекрасно работает на WebKit и не работает на Gecko - последний сообщает мне, что getElementsByName
не определено. Что, глядя на таблицу функций для document
, действительно имеет место: getElementsByClassName
, getElementsByTagName
, getElementsByTagNameNS
все здесь; getElementsByName
отсутствует.
Есть идеи, почему Геккон оставляет этот селектор? Google был бесполезен в этом вопросе (хотя я, возможно, задавал неправильные вопросы).
Есть какие-нибудь предложения для компактного решения проблемы отсутствия поддержки Gecko для этого селектора? Я бы предпочел не захватывать атрибут класса или (что еще хуже) генерировать уникальные идентификаторы для моих повторных экземпляров для выполнения задачи.