我有一个html元素的字符串,类似于
"<div title=\"123 123\">test</div>"
当我将其插入DOM并在页面上查看时,我看到了
123
123
作为工具提示。但是,当我尝试使用jquery更改其标题值时:
element.prop("title", "456 456");
我看起来像
456 456
作为工具提示。有谁知道如何解决这一问题?感谢。
答案 0 :(得分:4)
在您的第一个示例中,浏览器将
解析为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特殊字符,例如
或€
(欧元符号),您可以创建一个空的,看不见的div元素,使用您的html设置然后转换使用以下文字:
element.prop("title", $('<div/>').html('456 456').text());