jquery按钮值到标题

时间:2015-06-03 21:00:23

标签: javascript jquery twitter-bootstrap

我的网站上有很多带有值的按钮(按钮的文本),每个按钮都有,例如' .btn-default'的引导类:

<input type="button" value="Clear" class="form-control input-sm btn-default" onclick="doingSomethingElseEtc();">

我如何使用jQuery获取按钮的值并将其绑定到每个按钮的title属性,因此如果您将鼠标悬停在按钮上,则会获得包含按钮中字符串的默认浏览器工具提示价值等。?

例如,只是为了得到我所要求的要点:

$('.btn-default').attr('title', $(".btn-default").val());

我试图尽可能少地触摸代码等。

谢谢!

4 个答案:

答案 0 :(得分:3)

您可以使用每个按钮来迭代每个按钮并设置标题。

$('.btn-default').each(function(i,obj){
    $(obj).attr('title', $(obj).val());
});

答案 1 :(得分:1)

不需要任何参数,变量或其他什么。 : - )

$('.btn-default').each(function () {
    $(this).attr('title', $(this).val());
});

Demo

答案 2 :(得分:1)

如果您正在向attr添加功能,那么您的想法也会有效:

$('.btn-default').attr('title', function() {
    //console.log($(this).val(), $(this).text());
    return $(this).val() || $(this).text();
});

这将为每个按钮添加类btn-default title属性。 我认为获取文字也很好,因为您的按钮可以使用input value=".."<button>text</button>来定义

请查看下面的演示以及此jsFiddle

&#13;
&#13;
$('.btn-default').attr('title', function() {
  //console.log($(this).val(), $(this).text());
  return $(this).val() || $(this).text();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="Clear" class="form-control input-sm btn-default" onclick="doingSomethingElseEtc();">
<button class="btn-default">test1</button>
<button class="btn-default">test2</button>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

当您读取元素集合的值时,jQuery仅返回集合中第一个的值。因此,您需要迭代所有这些并在每个上设置标题。

$('.btn-default').each( function () {
   var elem = $(this);
   elem.attr('title', elem.val());
});

如果有很多元素,那么这将是缓慢的。您还需要在文档就绪时执行此操作。