Посоветуйте, пожалуйста, как заменить innerHTML в xhtml + xml для скрипта меню - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть Perl-скрипт с графикой SVG, он отправляет из Apache в формате xhtml + xml. Мой скрипт .Это: http://pastebin.com/mmk0HRLp

Как вы видите, я хочу иметь всплывающие меню, когда мышь перемещается над элементами SVG.Элементы, которые мне нужно получить из onmouseover = "downmenu (evt, 'ddd', 'eee')", это легко, потому что я могу использовать один сценарий меню и заменять различные элементы позже для различных действий.

Все будет хорошо, если не innerHTML, который не работает с парсером xml.Я пытался реализовать createTextNode, но он не ест html-сущности.

Я не хочу использовать jquery + UL / LI, потому что у меня много меню (около 20), и я не хочу писать ul /li для каждого из них.

Как еще можно добиться замены пунктов меню событием onmouseover?

Спасибо

1 Ответ

0 голосов
/ 06 декабря 2011

Неправильно, что innerHTML не работает с application/xhtml+xml, но анализируемая строка должна быть правильно сформированным XHTML-фрагментом.

В вашем коде у вас есть

code += '<a href="/www.test.com" '+ admin + '>Link<a>';

, который должен быть

code += '<a href="/www.test.com" '+ admin + '>Link</a>';

Обратите внимание, однако, что если admin или finfo содержат именованные ссылки на символы, которыенедопустимо в XML (например), тогда этого будет достаточно, чтобы не работать innerHTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...