如何在HTML工具提示中添加换行符?

我尝试在工具提示中使用<br/>和\n,如下所示:

<a href="#" title="Some long text <br/> Second line text \n Third line text">Hover me</a>

然而,这是无用的,我可以在工具提示中看到文字<br/>和\n。任何建议都会很有帮助。


当前回答

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>

其他回答

对我来说,两步解决方案(结合格式化标题和添加样式)是有效的,如下所示:

1) title属性的格式:

<a ref="#" title="First Line
                  Second Line
                  Third line">Hover Me</a>

2)在tips元素中添加如下样式:

white-space: pre-line;

在IE8、Firefox 22和Safari 5.1.7中测试。

只需添加一个数据属性

data-html =“真正的”

你可以开始了。

如。用法:

<i data-html="true" class="tooltip ficon-help-icon" twipsy-content-set="true" data-original-title= "<b>Hello</b> Stackoverflow"> </i>

到目前为止,它在我尝试过的大多数工具提示插件中都有效。

只需在标题中使用\n并添加这个CSS

.tooltip-inner {
    white-space: pre-wrap;
}

& # 013;结合样式留白:行前;为我工作。

如果你使用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 );
             },