我正在尝试使用伪元素创建工具提示。工具提示的内容是使用javascript创建的,并使用jQuery添加到元素的data-*
属性中。
这是我要尝试的:http://jsfiddle.net/8nnwytbL/1599/
Javascript:
var toolTipText = "Line 1. 
 Line 2";
$(element).attr("data-tooltip", toolTipText);
CSS:
[data-tooltip]:after {
content: attr(data-tooltip);
background-color: black;
white-space: pre;
}
在SO中经过很多问题之后,我发现:
如果您直接在html中定义数据属性,则可以通过这种方式工作:
<span data-tooltip= "Line 1 
 Line 2"></span>
如果内容直接用CSS编写,则它使用\A
转义序列工作。 (来自content属性规范)
content: 'Line 1. \A Line 2.'
请让我帮助了解jQuery方式到底出了什么问题?
答案 0 :(得分:1)
尝试一下:
var toolTipText = "Line 1. 
 Line 2";
$(element).attr("data-tooltip", $.parseHTML(toolTipText)[0].data)
jQuery.parseHTML使用本机方法将字符串转换为一组 DOM节点,然后可以将其插入文档中。
答案 1 :(得分:0)
改为使用“ \ A ”
$(function(){
var toolTipText = 'This is Line 1. \\A This is Line 2.';
$('#hoverMe').attr('data-tooltip' , toolTipText);
});