2011-09-24 110 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 –