我可以在twitter-bootstrap popover数据内容中使用html标签吗?
我在Rails 3.1.3应用程序中使用Twitter-Bootstrap。 我有很多元素像popovers一样:
<a data-original-title="Quality" rel="popover" data-content="Did they do a good job? 5 for Really Nice, 4 for Good Enough, 3 for Average, 2 for Somewhat OK, 1 for Really Bad">Q</a>
我想在内容部分有一个有序列表,类似于:
<OL reversed="reversed"> <LI> for Really Nice </LI> <LI> for Good Enough </LI> ... </OL>
有没有简单的方法来做到这一点,而不修改JavaScript? 无论我尝试什么,html代码都会显示在浏览器上,而不是被解释为这样。
UPDATE
根据David的build议使用以下代码
link_to 'Q', '#', options: { data-original-title: "Quality", rel: 'popover', data-content: "Did they do a good job? <ol><li> for Really Nice </li><li>...</li></ol>".html_safe }
用我的设置生成语法错误。 我认为这解释了为什么: Ruby 1.9与一个破折号在一个键 。 所以我使用:
<%= link_to 'Q', '#', options: { :"data-original-title" => "Quality", :rel => 'popover', :"data-content" => "Did they do a good job? <ol><li> for Really Nice </li></ol>".html_safe } %>
这不起作用。 它生成以下HTML:
<a href="#" options="{:"data-original-title"=>"Quality", :rel=>"popover", :"data-content"=>"Did they do a good job? <ol><li> for Really Nice </li></ol>"}">Q</a>
您需要创build一个启用了html
选项的popover实例(在popup的JS代码之后将其放置在您的javascript文件中):
$('.popover-with-html').popover({ html : true });
那么链接的语法是:
<%= link_to('Q', '#', :class => "popover-with-html", :title => "Quality", "data-content" => "#{some_content_object.html_safe}") %>
如果您dynamic生成内容,那么您需要像Davidbuild议的那样使用html_safe
所以Rails不会转义HTML代码。 否则,您可以直接在该内容属性中放置HTML。
是的,你可以这样做,但是你需要在你的string上调用html_safe
(如果string是由Rails生成的)
link_to 'Q', '#', :title => "Quality", :rel => 'popover', "data-content" => "Did they do a good job? <ol><li> for Really Nice </li><li>...</li></ol>".html_safe }
- 将JavaScriptdate格式设置为yyyy-mm-dd
- 每次打开Chrome DevTools时,如何保持默认隐藏“控制台抽屉”?
- 如何使用JavaScript从Web服务返回的二进制string构buildPDF文件
- 有没有JavaScript的编码标准?
- 如何在AngularJSunit testing中模拟$ window.location.replace?
- 我如何获得计算风格?
- 以用户的语言环境格式和时间偏移显示date/时间
- Bootstrap:'TypeError undefined不是函数'/'在使用引导标签时没有方法'tab''
- 在JavaScript中closures – 什么是错的?