【问题标题】:Update Boostrap Tooltip dynamically动态更新引导工具提示
【发布时间】:2017-10-18 17:32:27
【问题描述】:

我正在使用引导工具提示。我已启用 Tooltip html 以允许我在 title 属性中使用 html 跨度。

我在动态更新 span 中的值时遇到问题。

查看演示:https://jsfiddle.net/DTcHh/38497/

如果您单击更新工具提示按钮,工具提示应更改为:10 x 20

出了什么问题?

jQuery:

  $(function() {
    $('[data-toggle="tooltip"]').tooltip({
      html: true
    });

    $('body').on('click', '.update', function() {
       $('.a').text(10);
       $('.b').text(20);
    });
  });

html

<a href="#" data-toggle="tooltip" title="<span class='a'>2</span> x <span class='b'>5</span>">
  Hover Me
</a>

<button class="update">Update Tooltip</button>

【问题讨论】:

  • 问题是工具提示文本不是 HTML,它只是文本,所以 jQuery 不会找到它。
  • @DavidG 好的。请回答可能的解决方案。
  • This may help you!,祝你好运:)
  • @SamBoHamdan 不是,我需要在工具提示文本中找到选择器

标签: javascript jquery twitter-bootstrap


【解决方案1】:

.a.b 不是 DOM 中的元素。仅当您尝试将鼠标悬停在工具提示上时才会创建它们。

所以不要更改它,只需将 a data-original-title 更改为更新后的文本即可。

例如:

$('body').on('click', '.update', function() {
       $("a").attr("data-original-title", "<span class='a'>10</span> x <span class='b'>20</span>");
});

Updated Fiddle

【讨论】:

  • 我无法重写整个 span 块。也许获取 data-original-title 字符串并转换为 dom 然后找到$(dom).text(10);
  • 我能知道为什么你不能得到那个跨度吗?我怀疑你建议的方法行不通,
  • 类似我的意思是jsfiddle.net/DTcHh/38501 - 还不能让它工作。
  • 无论如何你都在访问和编写它。那么为什么要保留跨度而不是完全覆盖它。类似jsfiddle.net/DTcHh/38502
  • jsfiddle.net/moyeen52/DTcHh/38503 更新了小提琴。不确定这是否是故意的。 @我会回来
【解决方案2】:

$('body').on('click',... 更改为$('.update').on('click', function(){ $('[data-toggle="tooltip"]').attr('title', '10 x 20'); });

【讨论】:

  • 你确定吗?你在发布答案之前测试了吗
  • @I'll-Be-Back 你是对的。我已经确定了我的答案。 ://
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-09
相关资源
最近更新 更多