2011-09-24 94 views
1

問題:
我需要在我的工具提示中放置一個換行符,因此它不是全部在一行上。我使用tooltipsy來生成我的工具提示。它通過在任何具有「hastipy」類的錨標籤上使用title屬性作爲工具提示的內容來工作。使用javascript/jquery在標題屬性中插入換行符

因此,代碼:

<a href="http://tooltipsy.com/" class="hastipy" title="Click here to go to the tooltipsy website"> 
    tooltipsy 
</a> 

將顯示文本「tooltipsy」,當你將鼠標懸停在它,它會顯示「點擊這裏去tooltipsy網站」的提示的鏈接。

但是,如果我想在工具提示中插入換行符,該怎麼辦?

此代碼:

<a href="http://tooltipsy.com/" class="hastipy" title="Click here to <br /> go to the tooltipsy website"> 
    tooltipsy 
</a> 

當你在http://validator.w3.org

驗證它返回一堆錯誤於是我想出了這個JavaScript/jQuery的(由Jason加圖索書面):

$('a').each(function(){ 
    var a = $(this).attr('title'); 
    var b = a.replace('lineBreak','\n'); 
    $(this).attr('title', b); 
}); 

此代碼使用關鍵字(在這種情況下是lineBreak),並用\n(< - linebreak?)替換它,以便我的代碼通過valida並仍然有其中的線索。

此代碼適用於jsfiddle(here is the example),但在我的網站裏面的工具提示,它不。它插入了\n,但它並不像它應該的那樣刪除「lineBreak」。

任何人都可以提供這個解釋甚至可能的解決辦法嗎?

注:
我不想再提示方法的建議,tooltipsy爲我需要的一切工作完美。

結果:
事實證明,只是用的&lt;br /&gt;代替<br />完美工作。

回答

4

使用全局替換調用:.replace(/lineBreak/g,'\n');

如果要在標題屬性中添加<br />,請使用:&lt;br /&gt;(html實體)。

此外,JQuery自動將JavaScript包含在$(document).ready(...)之內。你應該這樣做:

$(document).ready(function(){ 
    //HTML-modifying code here. 
}); 
+0

哇,< BR/>完美工作,非常感謝你。我無法相信解決方案如此簡單= S –