1

这是我的问题。我需要使用 DOM 创建一个 href = (..) 并且 href 应该包含一些 & 符号。

我做了什么:

 var anchor = document.createElement('a');   
     var link = "../php/page.php?id=100&mode=edit";  
     anchor.setAttribute("href", link);  
     parent.appendChild(anchor);

我遇到的问题是,当我尝试单击链接时 & amp; 仍然存在,它没有逃到它应该逃逸的地方。

4

2 回答 2

1

您正在使用 JavaScript 修改 DOM,而不是使用 HTML 创建 DOM。JavaScript 不是 HTML。&在 JavaScript 字符串文字中表示&not &。就说吧&

var link = "../php/page.php?id=100&mode=edit";

请注意,如果您尝试在 XHTML 文档中的脚本元素正文中使用它,则上述情况不正确(但如果您按原样提供文档,text/html则浏览器会将其视为 HTML 而不是 XHTML)。有关更多信息,请参阅兼容性指南。我会通过不使用 XHTML 来避免这个问题,它增加了复杂性,但几乎没有开发人员会从使用它中获得任何好处。

于 2013-09-11T13:58:10.147 回答
0

当您在 Javascript 中设置 的属性&时,不会自动转义。hrefanchor

有关如何动态替换此字符串的信息,请参阅此问题。

于 2013-09-11T13:59:07.623 回答