这是我的问题。 我需要使用DOM创建一个href =(..),href应该包含一些&符号。
我做了什么:
var anchor = document.createElement('a');
var link = "../php/page.php?id=100&mode=edit";
anchor.setAttribute("href", link);
parent.appendChild(anchor);
我遇到的问题是,当我尝试点击链接时,&放大器;遗骸并没有逃脱,并且应该如此。
答案 0 :(得分:1)
您正在使用JavaScript修改DOM,而不是使用HTML创建DOM。 JavaScript不是HTML。 JavaScript字符串文字中的&
表示&
不是&
。只需说&
。
var link = "../php/page.php?id=100&mode=edit";
请注意,如果您尝试在XHTML文档中的script元素的主体中使用它,则上述情况不正确(但如果您将文档作为text/html
提供,则浏览器会将其视为HTML和不是XHTML)。有关详细信息,请参阅compatibility guidelines。我通过不使用XHTML来避免这个问题,它增加了复杂性,但几乎没有开发人员可以从使用它中获得任何好处。
答案 1 :(得分:0)
在Javascript中设置&
的{{1}}属性时,href
不会自动转义。
有关如何动态替换此字符串,请参阅this question。