首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >动态添加一个类到Bootstrap的“popover”容器

动态添加一个类到Bootstrap的“popover”容器
EN

Stack Overflow用户
提问于 2012-08-29 11:04:46
回答 22查看 87.5K关注 0票数 73

我彻底地搜索了StackOverflow和谷歌,但一无所获。因此,如果这个问题已经被询问和解决了,请提前道歉。

NB:我是jQuery的新手,所以我不知道该怎么写。我确信这是一段简单的代码,但我无法理解它。

我要做的是使用一个data-元素(例如:data-class或类似的)来附加一个新的类(或ID,我不再挑剔了!)顶层popover <div>。我目前拥有的代码如下:

jQuery:

代码语言:javascript
复制
$('a[rel=popover]')
    .popover({
        placement : 'bottom',
        trigger : 'hover'
    })
    .click(function(e) {
        e.preventDefault()
    });

HTML:

代码语言:javascript
复制
<a href="" rel="popover" data-class="dynamic-class" title="Title goes here" data-content="Content goes here">

理想情况下,我会吐出的HTML是这样的:

代码语言:javascript
复制
<div class="popover ... dynamic-class">
    <!-- remainder of the popover code as per usual -->
</div>

这是我能做的吗?popovers的引导站点上的文档有点稀疏,所以我花了一段时间才谈到这一点,不幸的是:(

提前感谢您的回复!

EN

回答 22

Stack Overflow用户

回答已采纳

发布于 2013-09-10 19:13:43

通过从调用者的data中抓取popover对象并访问其$tip属性,您可以在不修改Bootstrap和更改模板的情况下完成此操作。

代码语言:javascript
复制
$('a[rel=popover]')
  .popover({ placement: 'bottom', trigger: 'hover' })
  .data('bs.popover')
  .tip()
  .addClass('my-super-popover');
票数 74
EN

Stack Overflow用户

发布于 2013-02-14 12:27:16

实际上,在2.3版中有另一种非常简单的方法可以做到这一点。您可以覆盖默认模板以将类包含到容器中。

代码语言:javascript
复制
var pop = $('a', this.el).popover({
  trigger: 'click'
  , template: '<div class="popover awesome-popover-class"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
});
票数 53
EN

Stack Overflow用户

发布于 2012-08-30 20:52:20

基于@bchhun写的东西和很多令人费解的事情,我觉得我应该回答我自己的问题,因为我让它工作了。我也注意到这篇文章很受欢迎和喜欢,所以我希望我能帮助到像我这样的jQuery新手。

在当前的Bootstrap build v2.1.0中,所有脚本都进行了整合。因此,如果您已经在构建中包含了所有脚本(并且没有编辑任何新行/去掉了一些),那么请转到未缩小的.js文件的第1108行。你会发现下面这段代码:

代码语言:javascript
复制
$tip
  .css(tp)
  .addClass(placement)
  .addClass('in')

您将向其中添加新行,即:

代码语言:javascript
复制
  .addClass(this.$element.attr("data-class"))

因此,每当您向popover调用添加data-class时,它都会将该属性添加到<div class="popover"> div。

现在我看到了,它是如此明显:)

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12170357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档