与号(&)在 DOM 中不转义会生成一个 href
Ampersand (& amp;) not escaping in DOM generated a href
这是我的问题。我需要使用 DOM 创建一个 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。 &
在 JavaScript 字符串文字中意味着&
不&
。就说&
.
var link = "../php/page.php?id=100&mode=edit";
请注意,如果您尝试在 XHTML 文档的脚本元素正文中使用它,则上述情况不正确(但如果您按text/html
提供文档,则浏览器会将其视为 HTML 而不是 XHTML)。有关此内容的更多信息,请参阅兼容性指南。我会通过不使用 XHTML 来避免这个问题,它增加了复杂性,但几乎没有开发人员会从使用它中获得任何好处。
在 Javascript 中设置 anchor
的 href
属性时,&
不会自动转义。
有关如何动态替换此字符串的信息,请参阅此问题。
相关文章:
- 如何制作href链接和<李>在一个包装中
- CSS 在悬停时使图像变暗 - 在其周围添加一个 href
- 使用 Javascript 在运行时禁用<一个 href>
- 使用php使用href链接将输入的文本框值传递到另一个页面
- 在href跳转到另一个html元素之前,执行Knockout.js数据绑定:点击函数
- 为什么jQuery attr('href','#')设置了一个空值而不是#
- 使用onclick创建一个可点击的链接,但不使用href=#
- 将href链接到另一个HTML文档中的锚点并将其居中
- 如何从一个 HREF 填充多个输入字段
- Javascript 将一个 onclick 事件附加到所有带有 href 变量的链接
- href:链接回上一个页面上的某个类
- 如何执行一个包含更多 HREF 地址的链接属性
- 将现有单选按钮更改为 <一个 href>
- 使用 jQuery 添加一个指向
- 项的 href 链接
- 在 href 单击时返回另一个函数的响应
- 打开一个没有JavaScript或href的新窗口
- Javascript 在最后一个斜杠 / 之后替换 href 的某些字符
- 将 href 值从 标记链接到另一个 html 页面
- 使用 location.href 或类似内容打开一个 URL,后跟一个哈希符号
- 为什么 HREF 属性的值与前一个属性相加