使用javascript/jquery在title属性中插入换行符
Inserting linebreak in the title attribute using javascript/jquery
问题:
我需要在工具提示中放一个换行符,这样就不会全部在一行了。我使用tooltipsy生成工具提示。它的工作原理是在任何锚标记上使用title属性,并将类"hastipy"作为工具提示的内容。
所以代码:
<a href="http://tooltipsy.com/" class="hastipy" title="Click here to go to the tooltipsy website">
tooltipsy
</a>
将是一个显示文本"tooltipsy"的链接,当你将鼠标悬停在它上面时,它会在工具提示中显示"单击此处转到tooltipsi网站"。
但是,如果我想在工具提示中放置换行符,该怎么办?
此代码:
<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
(<--lineBreak?(,因此我的代码通过了验证,并且其中仍然包含lineBreak。
这段代码在jsfiddle上有效(这里是示例(,但在我的网站工具提示中,它不起作用。它插入'n
,但并没有像预期的那样删除"lineBreak">
有人能对此做出解释,甚至提出可能的解决方案吗?
注意:
我不想建议使用另一种工具提示方法,tooltipsy非常适合我所需要的一切。
结果:
事实证明,仅仅使用<br />
而不是<br />
就可以完美地工作。
使用全局替换调用:.replace(/lineBreak/g,''n');
。
如果要在标题属性中添加<br />
,请使用:<br />
(html实体(。
此外,JQuery会自动将JavaScript封装在$(document).ready(...)
中。你也应该这样做:
$(document).ready(function(){
//HTML-modifying code here.
});
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 属性gridster项应插入到何处
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- 如何从动态属性将IMG插入DOM
- 选中复选框时插入名称属性
- 在主要的JavaScript引擎中,在JavaScript关联数组(动态对象属性)中检索/插入的复杂性是多少
- 是否可以在 HTML 标记中插入您的属性
- 扫描具有相同命名和插入值的所有数据属性-jQuery
- 为什么浏览器在此样式属性中插入“9”
- 在JavaScript中插入属性
- 如果我可以随时将任何属性插入对象,那么在javascript中创建类有什么用
- 如何在 Tinnymce 编辑器的插入链接弹出窗口中添加 rel 属性
- 在 XSLT 工作表中的 JavaScript 中插入属性的问题
- 环回 - 基于 id 以外的其他属性的 REST 更新插入/更新
- 如何在车把/Ember.js中插入动态{{属性}}
- 纯Javascript将文本插入中,不带属性
- 动态插入文件时触发 onload 属性.js
- 在数据库的1个属性中插入了多个值
- 将JSON中的属性插入JavaScript中的对象数组中
- 将JavaScript对象中的属性插入字符串