0

我有一个带有很多复选框的 html 表单字段。

如何根据其内部 HTML 设置标签的标题 attbi?我需要为所有标题执行此操作。

例如,我需要改造

<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。

请指教。

4

3 回答 3

3
$('#field label.option').attr('title',function(){ return $(this).text() });
于 2014-01-21T10:31:51.460 回答
2

title属性应该只包含文本,所以你最好 user text()

$('#field label.option').prop('title', function() { return $(this).text(); });

如果您绝对必须将 设置title为内部 HTML,请使用html()

$('#field label.option').prop('title', function() { return $(this).html(); });

jsFiddle 演示

于 2014-01-21T10:32:21.847 回答
0

这可能会帮助你

$('.option').each(function(i,lbl)
   {
       $(lbl).attr('title',$(this).html());
   }
);
于 2014-01-21T10:57:43.257 回答