问题:
我需要在我的工具提示中放置一个换行符,这样它就不会全部在一行中。我用 tooltipsy生成我的工具提示。它的工作原理是在任何带有“hastipy”类的 anchor 标记上使用 title 属性作为工具提示的内容。
所以代码:
<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 Gennaro 编写):
$('a').each(function(){
var a = $(this).attr('title');
var b = a.replace('lineBreak','\n');
$(this).attr('title', b);
});
此代码使用关键字(在本例中为 lineBreak)并将其替换为 \n
(<-- 换行符?)所以我的代码通过了验证并且仍然有换行符。
此代码适用于 jsfiddle ( here is the example ),但在工具提示内的我的网站上,它不起作用。它插入 \n
,但它并没有像预期的那样删除“lineBreak”。
任何人都可以对此提供解释甚至可能的修复方法吗?
注意:
我不需要其他工具提示方法的建议,tooltipsy 可以完美满足我的所有需求。
结果:
事实证明,只需使用 <br />
而不是 <br />
工作完美。
最佳答案
使用全局替换调用:.replace(/lineBreak/g,'\n');
.
如果要添加<br />
在您的标题属性中,使用:<br />
(html 实体)。
此外,JQuery 自动将 JavaScript 包装在 $(document).ready(...)
中.你也应该这样做:
$(document).ready(function(){
//HTML-modifying code here.
});
关于javascript - 使用 javascript/jquery 在标题属性中插入换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541614/