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

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

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

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


当前回答

AngularJS with Bootstrap UI Tolltip (uib-tooltip), has three versions of tool-tip:

Uib-tooltip, Uib-tooltip -template和Uib-tooltip -html

- uib-tooltip takes only text and will escape any HTML provided
- uib-tooltip-html takes an expression that evaluates to an HTML string
- uib-tooltip-template takes a text that specifies the location of the template

在我的情况下,我选择了uib-tooltip-html,有三个部分:

配置 控制器 超文本标记语言

例子:

(function(angular) {

//Step 1: configure $sceProvider - this allows the configuration of $sce service.

angular.module('myApp', ['uib.bootstrap'])
       .config(function($sceProvider) {
           $sceProvider.enabled(false);
       });

//Step 2: Set the tooltip content in the controller

angular.module('myApp')
       .controller('myController', myController);

myController.$inject = ['$sce'];

function myController($sce) {
    var vm = this;
    vm.tooltipContent = $sce.trustAsHtml('I am the first line <br /><br />' +
                                         'I am the second line-break');

    return vm;
}

 })(window.angular);

//Step 3: Use the tooltip in HTML (UI)

<div ng-controller="myController as get">
     <span uib-tooltip-html="get.tooltipContent">other Contents</span>
</div>

更多信息请点击这里

其他回答

在原生HTML工具提示中添加换行符是可能的,只需将标题属性分布在多行中即可。

但是,我建议使用jQuery工具提示插件,如Q-Tip: http://craigsworks.com/projects/qtip/。

它的设置和使用都很简单。另外,也有很多免费的javascript工具提示插件。

编辑:第一个语句的更正。

如果你使用的是Jquery Tooltip工具,那么在“Jquery -ui.js”Javascript文件中找到以下文本:

tooltip.find(".ui-tooltip-content").html(content);

放在上面

content=content.replace(/\&lt;/g,'<').replace(/\&gt;/g,'>');

我希望这对你也有用。

\n

在造型上

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

为我工作。

只需使用实体代码&#013;用于标题属性中的换行符。

嗨,这段代码将在所有浏览器中工作!!我使用 用于chrome和safari的新产品线和IE的ul li

 function genarateMultiLIneCode(){
        var =values["a","b","c"];
        const liStart = '<li>';
              const liEnd = '</li>';
              const bullet = '&#8226; ';     
              var mergedString = ' ';
              const unOrderListStart='<ul>'
              const unOrderListEnd='</ul>'
              const fakeNewline = '&#013;&#010;';
              for (let i = 0; i < values.length; i++) {
                   mergedString += liStart + bullet + values[i] + liEnd + fakeNewline;
              }
              const tempElement = document.createElement("div");
              tempElement.innerHTML = unOrderListStart + mergedString + unOrderListEnd;    
              return tempElement.innerText;
            }
        }