2014-04-04 96 views
0

這用於Bootstrap Popover中。強制HTML中的字符串換行符,相當於HTML中的 n

下發展活頁可以here

這一定是簡單的,但我找不到任何地方觀看。在數據內容屬性中,我希望在「Date Assessed:10-Nov-13 and Results:CR = ... 」之間強制使用BR或P標記之間的段落或換行符,它將顯示文字標記。 JavaScript來強迫你使用\ n你怎麼做HTML一樣引用字符串內的換行符

 <td class="setWidth concat"><div class="boldTitle"><a href="#" 
    class="tip" rel="popover" data-trigger="hover" 
    data-placement="top" 

    data-content="Date Assessed: 10-Nov-13 <br /> 
    Results: Cr = 2.2 mg/dl" 

     data-original-title="Out of Range"> 
      <span style="color:red" 
     class="glyphicon glyphicon-warning-sign"></span> &nbsp; Cr = 2.2 mg/dL</a></div></td> 
+0

你想在哪裏顯示這個換行符?你是否期待在DOM中出現斷點? @ ___ @ –

+0

之間的「日期評估:10月11日-13和結果:CR = ...正如你可以看到我有一個
標記在那裏 – DivineChef

+0

我的問題是,你打算如何看到這一行突破?或者在一些textarea左右? –

回答

1

請參閱最後一次更新:引導程序使您能夠指定內容是HTML而不是文本。

它完全取決於引導程序的popover效果的實現。如果他們使用$('.popover').html($(this).data('content'))那麼它應該「只是工作」。如果他們使用$('.popover').text($(this).data('content'))或以其他方式轉義data-attribute的結果,那麼它可能不會。

如果引導程序的實現無法按照您希望的方式工作,那麼可以通過編寫自己的JavaScript來處理要查找的效果,從而更好地提供服務。

看到這個搗鼓從data-attribute換行符的例子正常工作:

http://jsfiddle.net/g32tw/1/

更新:我已經與生產您所遇到的錯誤的第二連桿更新小提琴,這可能是bootstrap的實現工作原理。

更新:只是看着bootstrap的文檔。你有沒有試過在元素中加入"data-html" = "true"

來源:http://getbootstrap.com/javascript/#popovers-usage

小心與此 - 如果內容爲最終用戶提供使用html選項可能會導致您遭受XSS攻擊的漏洞。如果您信任這些數據,那很好。有關跨站點腳本的信息,請參閱https://www.acunetix.com/websitesecurity/cross-site-scripting/

+0

這可以做懸停嗎?我發佈了一個實時鏈接。 – DivineChef

+0

當然,它可以,只需使用'hover'事件而不是'click'事件:http://jsfiddle.net/g32tw/2/但是,您可能想查閱bootstrap文檔以瞭解如何以編程方式製作彈出窗口出現... – nzifnab

+0

看到我的最新更新...它看起來像引導給你選擇使用HTML而不是文本,所以你不必滾動自己的代碼版本。 – nzifnab

0

我不知道,你可以你可以嘗試有兩個數據項:?

data-assessdate="Date Assessed: 10-Nov-13" 
data-results="Cr = 2.2 mg/dl" 

並在顯示之前用Javascript重新組裝:

var summary = this.dataset; 
var newhtml=summary.assessdate . "<br />" . summary.results; 

然後將newhtml寫入任何您想要的DOM。