我正在使用twitter 's bootstrap' s popover here . 现在,当我滚动弹出文本时,弹出窗口只显示 <a>
的 data-content
属性中的文本 . 我想知道是否还有一个 <div>
在popover内 . 潜在地,我想在那里使用php和mysql,但如果我能得到div工作,我想我可以弄清楚剩下的 . 我尝试将数据内容设置为 div
ID,但它没有用 .
HTML:
<a class='danger'
data-placement='above'
rel='popover'
data-content='#PopupDiv'
href='#'>Click</a>
8 回答
首先,如果要在内容中使用HTML,则需要将HTML选项设置为true:
然后,您有两个选项来设置Popover的内容
使用data-content属性 . 这是默认选项 .
使用返回HTML内容的自定义JS函数 .
Using data-content :您需要转义HTML内容,如下所示:
您可以手动转义HTML或使用函数 . 我不知道PHP,但在Rails中我们使用* html_safe * .
Using a JS function :如果这样做,您有几个选择 . 我认为最简单的方法是将div内容隐藏在任何你想要的位置,然后编写一个函数将其内容传递给popover . 像这样的东西:
然后你的HTML看起来像这样:
希望能帮助到你!
PS:我在使用popover而没有设置title属性时遇到了一些麻烦...所以,记得要始终设置 Headers .
基于jävi的答案,可以在没有ID或其他按钮属性的情况下完成此操作:
http://jsfiddle.net/isherwood/E5Ly5/
另一种替代方法,如果你想拥有弹出的外观和感觉 . 以下是方法 . 当然这是一个手动的东西,但很好用:)
HTML - 按钮
HTML - popover
JS
迟到了 . Build 其他解决方案 . 我需要一种方法将目标DIV传递为 variable . 这就是我做的 .
用于Popover源的HTML(添加了一个数据属性 data-pop ,它将保存目标DIV id /或类的值):
用于Popover内容的HTML(我正在使用bootstrap hide class):
脚本:
除了其他回复 . 如果您在选项中允许
html
,则可以将jQuery
对象传递给内容,并且它将附加到包含所有事件和绑定的popover内容 . 以下是源代码的逻辑:如果你传递一个函数,它将被调用来解包内容数据
如果不允许
html
,则内容数据将作为文本应用如果
html
允许且内容数据为字符串,则将其应用为html
否则内容数据将附加到popover的内容容器中
All of these answers miss a very important aspect!
通过使用.html或innerHtml或outerHtml,您实际上并没有使用引用的元素 . 您正在使用元素的html副本 . 这有一些严重的缺点 .
您不能使用任何ID,因为ID将被复制 .
如果每次显示弹出窗口时加载内容,您将丢失所有用户的输入 .
你想要做的是将对象本身加载到弹出框中 .
https://jsfiddle.net/shrewmouse/ex6tuzm2/4/
HTML:
JQuery的:
为什么这么复杂?就这样说: