Javascript 符号(&;amp;)未在DOM中转义生成的a href

Javascript 符号(&;amp;)未在DOM中转义生成的a href,javascript,w3c,ampersand,Javascript,W3c,Ampersand,这是我的问题。 我需要使用DOM创建一个a href=(..),href应该包含一些符号 我所做的: var anchor = document.createElement('a'); var link = "../php/page.php?id=100&mode=edit"; anchor.setAttribute("href", link); parent.appendChild(anchor); 我的问题是,当我试图点击链接时

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

我所做的:

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

我的问题是,当我试图点击链接时;仍然存在,并且它不会被转义到和应该转义到。

您正在使用JavaScript修改DOM,而不是使用HTML创建DOM。JavaScript不是HTML<代码>&表示
&不是
&
。只要说
&

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

请注意,如果您试图在XHTML文档中的脚本元素主体中使用此选项,则上述情况不正确(但如果您将文档作为
text/html
提供,则浏览器将其视为html而不是XHTML)。有关这方面的更多信息,请参阅。我可以通过不使用XHTML来避免这个问题,它增加了复杂性,但几乎没有开发人员会从中受益。

您是在使用JavaScript修改DOM,而不是使用HTML创建DOM。JavaScript不是HTML<代码>&表示
&不是
&
。只要说
&

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

请注意,如果您试图在XHTML文档中的脚本元素主体中使用此选项,则上述情况不正确(但如果您将文档作为
text/html
提供,则浏览器将其视为html而不是XHTML)。有关这方面的更多信息,请参阅。我可以通过不使用XHTML来避免这个问题,它增加了复杂性,但几乎没有开发人员会从中受益。

代码>&anchor
href
属性时,不会自动转义code>


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

anchor
href
属性时,不会自动转义code>


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

可以,但如果我使用&而不是&;w3c验证器告诉我必须使用&;如何使用DOM生成正确的HTML代码?@user2768957-如果验证程序告诉您使用
&那么几乎可以肯定您正在使用XHTML。请参阅答案最后一段中的链接。我会尽量说得更清楚。我在一个单独的文件中使用HTML4(strict.dtd)和Javascript。HTML文件中没有代码。代码用于考试,教师将使用bookmarklet(提取DOM生成的所有HTML代码)验证HTML。这意味着我创建的所有链接都包含&而不是&;这会导致W3C验证程序出错!我试着向你描述,但不能。生成的链接包含
&
但是脚本包含
&
。不幸的是,我必须使用的bookmarklet包含以下内容:var code=document.body.innerHTML.replace(/好的,但是如果我使用&;而不是&;w3c验证程序告诉我必须使用&;如何使用DOM生成正确的HTML代码?@user2768957-如果验证程序告诉您使用
&;
,那么您几乎可以肯定使用的是XHTML。请参阅答案最后一段中的链接。我会尽量弄清楚。我使用的是HTML 4(strict.dtd)和Javascript在一个单独的文件中。HTML文件中没有代码。代码用于考试,教师将使用bookmarklet(提取DOM生成的所有HTML代码)验证HTML。这意味着我创建的所有链接都包含&而不是&;,这会导致W3C validator中出现错误!我试图向您描述,但无法描述。生成的链接包含
,但脚本包含
。不幸的是,我必须使用的bookmarklet包含以下内容:var code=document.body.innerHTML.replace(/同时:还: