javascript - 使用 javascript/jquery 在标题属性中插入换行符

标签 javascript jquery tooltip

问题:
我需要在我的工具提示中放置一个换行符,这样它就不会全部在一行中。我用 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 可以完美满足我的所有需求。

结果:
事实证明,只需使用 &lt;br /&gt;而不是 <br />工作完美。

最佳答案

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

如果要添加<br />在您的标题属性中,使用:&lt;br /&gt; (html 实体)。

此外,JQuery 自动将 JavaScript 包装在 $(document).ready(...) 中.你也应该这样做:

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

关于javascript - 使用 javascript/jquery 在标题属性中插入换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541614/

相关文章:

jQuery 调整窗口大小

javascript - CSS HTML : Is there workaround for parent scaling and child position:fixed?

javascript - 在 Chrome 调试器中,是否可以引用匿名函数 block 内的数据或函数?

javascript - 如何将变量数组从 laravel Controller 传递到我的 ajax 函数

Javascript,while 循环返回

background - Eclipse Oxygen 中的黑色背景颜色工具提示

python-2.7 - 显示所选单词的工具提示

javascript - 无法从 json 中提取键/值

Jquery UI 可排序多个项目几乎可以工作,但还有一个问题

javascript - 工具提示内的任何 HTML 标记都会导致基本工具提示在悬停时关闭