【问题标题】:Please, advise me how to replace innerHTML in xhtml+xml for menu script请告诉我如何为菜单脚本替换 xhtml+xml 中的 innerHTML
【发布时间】:2012-01-13 10:47:49
【问题描述】:

我有一个带有 svg 图形的 perl 脚本,它从 xhtml+xml 中的 apache 发送。 My script。它是:http://pastebin.com/mmk0HRLp

如您所见,当鼠标移到 svg 元素上时,我希望有一个弹出菜单。我需要从 onmouseover="downmenu(evt,'ddd','eee')" 中获取的项目,这很简单,因为我可以使用一个菜单脚本并在以后用不同的项目替换不同的项目来执行不同的操作。

没关系,如果不是innerHTML,它不适用于xml 解析器。 我尝试实现 createTextNode,但它不吃 html 实体。

我不想使用 jquery + UL/LI,因为我有很多菜单(大约 20 个),我不想为每个菜单编写 ul/li。

我还能如何通过 onmouseover 事件实现菜单项替换?

谢谢

【问题讨论】:

    标签: xhtml menu svg


    【解决方案1】:

    innerHTML 不能与application/xhtml+xml 一起工作是不正确的,但是被解析的字符串必须是一个格式良好的 XHTML 片段。

    在你的代码中

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

    应该是

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

    但请注意,如果 adminfinfo 包含在 XML 中无效的命名字符引用(例如  ),则足以阻止 innerHTML 工作。

    【讨论】:

    • 非常感谢。我稍微改了一下,现在脚本可以工作了。
    猜你喜欢
    • 1970-01-01
    • 2010-12-31
    • 2015-11-10
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多