Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery工具提示添加换行符_Javascript_Jquery_Html_Jquery Ui_Jquery Plugins - Fatal编程技术网

Javascript jQuery工具提示添加换行符

Javascript jQuery工具提示添加换行符,javascript,jquery,html,jquery-ui,jquery-plugins,Javascript,Jquery,Html,Jquery Ui,Jquery Plugins,因此,我想获取一个div的内容,其中有几个,然后使用jQuery工具提示小部件将其作为标题属性传递。我希望这些行在工具提示中一行一行地显示在另一行的下方。谢谢。到目前为止,守则是: CSS .line{ 宽度:125px; 高度:20px; 溢出:自动; } JavaScript $(函数(){ $(document.tooltip(); $(“.Lines”).hover(函数(){ IaTxt=$(this.html()) $(this.prop('title',IaTxt) }) });

因此,我想获取一个div的内容,其中有几个

,然后使用jQuery工具提示小部件将其作为标题属性传递。我希望这些行在工具提示中一行一行地显示在另一行的下方。谢谢。到目前为止,守则是:

CSS

.line{
宽度:125px;
高度:20px;
溢出:自动;
}
JavaScript

$(函数(){
$(document.tooltip();
$(“.Lines”).hover(函数(){
IaTxt=$(this.html())
$(this.prop('title',IaTxt)
})
});
HTML


第一行。

第二行。
第三行!
第四行?
您可以使用工具提示小部件的“内容”选项。另见:

简短示例:

  $(function() {
    $( document ).tooltip({
      content: function() {
        return 'foo'
      }
    });
  });

只需使用实体

用于标题属性中的换行符。

这是我使用最新的jquery/jqueryui执行此操作的技巧(假设您想要具有工具提示的所有项目都具有类“jqtooltip”,它们具有标题标记,并且标题具有用于行分隔符的管道字符:

$('.jqtooltip').tooltip({ 
  content: function(callback) { 
     callback($(this).prop('title').replace('|', '<br />')); 
  }
});
$('.jqtooltip')。工具提示({
内容:函数(回调){
回调($(this.prop('title').replace('|','
'); } });
我用了这个:

        $("[title]").each(function(){
            $(this).tooltip({ content: $(this).attr("title")});
        });
这意味着所有具有title属性的元素都将使用jquery工具提示,工具提示内容将使用title属性的值。
内容允许使用html。

您可以直接在Title属性中键入html,然后只需调用以下命令:

$(document).tooltip({
  content: function (callback) {
     callback($(this).prop('title'));
  }
});

这样,您的HTML将被呈现而不是转义并按字面意思写入。

我使用了ScottRFrost答案的修改版本。他的示例的问题是。replace仅替换字符串中字符的第一个实例。下面是一个使用正则表达式的/g(全局)的修改版本修改整个字符串中字符的所有实例

$('.jqtooltip').tooltip({ 
   content: function (callback) {
      callback($(this).prop('title').replace(new RegExp("\\|", "g"), '<br />'));
   }
});
$('.jqtooltip')。工具提示({
内容:函数(回调){
回调($(this.prop('title').replace(新的RegExp(“\\\\”,“g”),“
”); } });
最好使用以下方法:

$(document).tooltip({
   content: function () {
     return $( this ).prop( 'title' ).replace( '|', '<br />' );
   }
});
$(文档)。工具提示({
内容:功能(){
返回$(this.prop('title')。替换('|','
'); } });

使用
函数(回调)
时,我遇到了工具提示问题,但工具提示未关闭

有一个纯CSS解决方案。请使用换行符,并添加此CSS样式:

.ui-tooltip {
    white-space: pre-line;
}
如果要保留空白,也可以使用pre或pre-wrap代替pre-line。
请参见

我将如何在代码中具体实现这一点?我通过jQueryadd文本设置title属性,在文本中添加换行符。或者替换为
标记。我不知道您是否理解我的初始问题。我想获取div的内容[参见示例div]并使用jQuery工具提示插件将其显示为标题。在该div中,我已经有了

,我希望工具提示中出现换行符,其中

是。这只是我告诉过的。u将
替换为 ;
yourVariable。替换(“
,” ;”
)您必须将其与此:.ui工具提示一起使用{空白:行前;}你能给我一个实际的例子,这可以实现我的目标吗?字符串'foo'在你的情况下可以被替换为latex。在设置title属性之前,我必须在文本中用
替换/n。但是现在我找到了一个更好的解决方案,我用标签包装它,它保留换行符和制表符。到目前为止,这是本页上最简单的解决方案。简单我的文本已经包含了CSS,所以我只需要CSS。谢谢!对于我的Jquery工具提示版本,类选择器是不同的:`.Tooltip internal{white space:pre line;}`但原理相同!如果你有一个换行符,那就太好了。对于倍数,请确保使用全局选项。
.replace(/\\\\\\/g,
)
请查看此页面JDandChips回答,不需要使用自定义字符。您可以在title属性中使用html,只需更改:return$(this).prop('title')中的函数即可;这是答案。句号。请向上投票,以便将此答案移到顶部。鼠标悬停后,工具提示不会隐藏。您也可以使用正则表达式模式,如:
。replace(/\\124;/g,
')