我想在document.ready函数中使用JQuery将title属性设置为span,paragraph或div标签的内部文本。
这是我的标记:
<span class="ellipsis">Text inside span tag.</span>
<p class="ellipsis">Text inside paragraph tag.</p>
<div class="ellipsis" >Text inside div tag tag.</div>
我想添加标题属性来创建这样的标记:
<span class="ellipsis" title="Text inside span tag.">Text inside span tag.</span>
<p class="ellipsis" title="Text inside paragraph tag.">Text inside paragraph tag.</p>
<div class="ellipsis" title="Text inside div tag tag.">Text inside div tag tag.</div>
我理解如何更改标题属性,我似乎无法找到将其更改为特定元素值或文本。
答案 0 :(得分:3)
尝试:
$('.ellipsis').each(function() {
$(this).prop('title', $(this).text());
});
.each()
函数在这样的情况下非常有用:为了对元素做某些事情,你需要单独从每个元素中获取一些东西。
答案 1 :(得分:0)
假设您要使用ellipsis
类为每个元素设置标题,您可以这样做:
$(".ellipsis").each(function(){
$this = $(this);
$this.attr("title", $this.text());
});
<强>更新强>
正如@Pointy指出的那样,在jQuery 1.6+中,使用.prop()
优于.attr()
可能更好,即使大多数使用应该给你相同的结果。如果您想知道原因,请参阅.prop() vs .attr()。