繁体   English   中英

使用JS设置HTML“title”属性不会呈现&

[英]Setting HTML “title” attribute with JS doesn't render &

在title属性中使用&符号的正确方法是什么? 我原以为你应该使用& ,但它会提供不同的行为,具体取决于它是在原始HTML中设置还是使用JS修改。

Chrome(版本47.0.2526.106(64位))和Safari(版本9.0.2(11601.3.9))中的工具提示渲染:

在此输入图像描述 用JS

https://jsfiddle.net/davegaeddert/femm9b96/

& 表示& 在HTML中

& 手段& 当您使用DOM API直接操作DOM时。

如果您不编写HTML,请不要使用HTML实体。

根据您的设置方式,该方法会有所不同。 在原始HTML中,你必须逃避&符号,你的小提琴正确地做到了:

title="&"

在JavaScript中,您只需在字符串中使用"&"

jQuery("#with-js").attr("title","&");

那是因为setAttribute不会将属性解析为HTML。 请参阅Node.setAttribute的规范

直接在HTML中,它将被解析为HTML实体

摘抄

这个值是一个简单的字符串; 它没有被解析,因为它被设置。 因此,任何标记(例如被识别为实体引用的语法)都被视为文字文本

https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-F68F082

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM