引导工具提示的样式为什么不显示?

时间:2019-04-20 19:22:13

标签: javascript jquery css bootstrap-4 tooltip

我正在尝试在引导工具提示中设置文本样式。我的要求很简单:我希望第一个按钮上的工具提示文本显示为红色。我使用

data-html="true"

在我的工具提示中使用HTML。为什么不是红色?

<button data-toggle="tooltip" data-html="true" data-trigger="click" title="<div style='color:red;'>this text should be red</div>">
    Press me
</button>

在同一件事上,我希望首先显示以下工具提示上的工具提示。表环境将其完全隐藏。这是同样的问题吗?

<button data-toggle="tooltip" data-html="true" data-trigger="click" title="<table><tr><td>this text should appear</td></tr></table>">
    Press me 2
</button>

我创建了一个小提琴,可以清楚地显示问题所在。

https://jsfiddle.net/ws9z37q2/9/

任何帮助将不胜感激。预先感谢!

1 个答案:

答案 0 :(得分:0)

为元素提供一个类,并将样式应用于CSS中的类。

$(function() {
  $('[data-toggle="tooltip"]').tooltip()
})
.red {
  color: red
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />


<button data-toggle="tooltip" data-html="true" data-trigger="click" title="<div class='red'>this text should be red</div>">
  Press me
</button>


默认情况下,我在Github中检查Bootstrap的源代码时,其sanitizing the HTML content style属性是不允许的,check here for more info

因此,您也可以通过禁用sanitize选项(不推荐)来使其工作。

$(function() {
  $('[data-toggle="tooltip"]').tooltip({
    sanitize: false
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />


<button data-toggle="tooltip" data-html="true" data-trigger="click" title="<div style='color:red'>this text should be red</div>">
  Press me
</button>