如何在HTML工具提示中添加换行符?
我尝试在工具提示中使用<br/>和\n,如下所示:
<a href="#" title="Some long text <br/> Second line text \n Third line text">Hover me</a>
然而,这是无用的,我可以在工具提示中看到文字<br/>和\n。任何建议都会很有帮助。
如何在HTML工具提示中添加换行符?
我尝试在工具提示中使用<br/>和\n,如下所示:
<a href="#" title="Some long text <br/> Second line text \n Third line text">Hover me</a>
然而,这是无用的,我可以在工具提示中看到文字<br/>和\n。任何建议都会很有帮助。
当前回答
Jquery UI 1.10不支持在标题属性中使用html标签,因为它不是有效的html。
所以另一种解决方案是使用工具提示内容选项。 参考- http://api.jqueryui.com/tooltip/#option-content
其他回答
如果你使用jquery-ui 1.11.4:
var tooltip = $.widget( "ui.tooltip", {
version: "1.11.4",
options: {
content: function() {
// support: IE<9, Opera in jQuery <1.7
// .text() can't accept undefined, so coerce to a string
var title = $( this ).attr( "title" ) || "";
// Escape title, since we're going from an attribute to raw HTML
Replace--> //return $( "<a>" ).text( title ).html();
by --> return $( "<a>" ).html( title );
},
在原生HTML工具提示中添加换行符是可能的,只需将标题属性分布在多行中即可。
但是,我建议使用jQuery工具提示插件,如Q-Tip: http://craigsworks.com/projects/qtip/。
它的设置和使用都很简单。另外,也有很多免费的javascript工具提示插件。
编辑:第一个语句的更正。
只需在标题中使用\n并添加这个CSS
.tooltip-inner {
white-space: pre-wrap;
}
这个CSS是我在编辑器中与换行一起工作的最终结果:
.tooltip-inner {
white-space: pre-wrap;
}
在这里找到: 如何使Twitter引导工具提示有多行?
javascript版本
因为& # 013;(html)是0D(十六进制),这可以表示为'\u000d'
str = str.replace(/\n/g, '\u000d');
此外,
与大家分享一个AngularJS过滤器,它将\n替换为该字符,这要感谢其他答案中的引用
app.filter('titleLineBreaker', function () {
return function (str) {
if (!str) {
return str;
}
return str.replace(/\n/g, '\u000d');
};
});
使用
<div title="{{ message | titleLineBreaker }}"> </div>