我有一个包含大量复选框的html表单字段。
如何在其内部HTML上设置标签的标题?我需要为所有标题执行此操作。
例如,我需要转换
<div id=field>
<label class='option'>Ski</label>
<label class='option'>Hockey</label>
<label class='option'>Baseball</label>
</div>
为:
<div id=field>
<label title='Ski' class='option'>Ski</label>
<label title='Hockey' class='option'>Hockey</label>
<label title='Baseball' class='option'>Baseball</label>
</div>
我尝试了以下jQuery代码:
$('#field label.option').attr('title',$(this).html());
但它给了我很多垃圾。
那么如何获取每个匹配标签内的值?
这是jQuery 1.4.4。
请告知。
答案 0 :(得分:3)
$('#field label.option').attr('title',function(){ return $(this).text() });
答案 1 :(得分:2)
title
属性应仅包含文字,因此您最好使用text()
:
$('#field label.option').prop('title', function() { return $(this).text(); });
如果您绝对 将title
设置为内部HTML,请使用html()
:
$('#field label.option').prop('title', function() { return $(this).html(); });
答案 2 :(得分:0)
这可能会对你有所帮助
$('.option').each(function(i,lbl)
{
$(lbl).attr('title',$(this).html());
}
);