jQuery没有使用工具提示新行字符

时间:2014-05-16 20:48:55

标签: javascript jquery html

我有一个html元素的字符串,类似于

"<div title=\"123 &#13; 123\">test</div>"

当我将其插入DOM并在页面上查看时,我看到了

123
123

作为工具提示。但是,当我尝试使用jquery更改其标题值时:

element.prop("title", "456 &#13; 456");

我看起来像

456 &#13; 456

作为工具提示。有谁知道如何解决这一问题?感谢。

4 个答案:

答案 0 :(得分:4)

在您的第一个示例中,浏览器将&#13;解析为DOM,正确理解实体。

在第二个例子中,它不会被浏览器解析,而是由javascript直接注入到DOM中。所以你需要使用适当的javascript编码。

.prop('title',"456 \r 456");

尝试这个小提琴http://jsfiddle.net/pEbt2/5/

答案 1 :(得分:1)

使用.prop("title", "456 \n 456");

答案 2 :(得分:0)

另一种选择是:

.prop( 'title', ['456',String.fromCharCode(13),'456'].join(' ') );

答案 3 :(得分:0)

如果您希望在工具提示中处理HTML特殊字符,例如&#13;&#8364;(欧元符号),您可以创建一个空的,看不见的div元素,使用您的html设置然后转换使用以下文字:

element.prop("title", $('<div/>').html('456 &#13; 456').text());