【问题标题】:Modify value of attribute修改属性值
【发布时间】:2015-09-28 15:59:12
【问题描述】:

如何修改data-tooltip的值?我想用一行代码做到这一点。

这里是元素:

<li class="ui-btn-icon-left " data-icon="cf">
  <a href="#" class="ui-btn ui-icon-cf">
    <span class="tooltip" data-tooltip="NeverGiveUp">Samaras</span>
  </a>
</li>

这是我的两个尝试:

$($(li).find('a').find('span').attr('data-tooltip')).val('foo');
$($(li).find('a').find('span').attr('data-tooltip')).text('foo');

没有影响。

【问题讨论】:

    标签: jquery html jquery-data


    【解决方案1】:

    最短的符号是:

    $('li a span').data('tooltip', 'foo');
    

    【讨论】:

      【解决方案2】:

      那么直截了当的答案是.attr('data-tooltip', 'new value');。但是,也可以使用.data('tooltip', 'new value');

      【讨论】:

      • 推荐了两种方法,很不错!问题是:我应该使用哪一个?它们是等价的吗?你有什么建议?
      • 感谢@hjpotter92。 JCOC611,您应该使用 jhpotter92 提供的链接的要点更新您的答案,以明确为什么我们应该更喜欢一种方法而不是另一种方法。这样你的答案会好很多!
      • 我接受这个答案,因为.attr() 方法是在我的实际应用程序中真正起作用的方法。
      【解决方案3】:

      使用.data():

      $($(li).find('a').find('span').data('tooltip', 'foo'));
      

      【讨论】:

        【解决方案4】:

        我认为您可以将其简化为:

        $("li a span").data("tooltip", "foo");
        

        【讨论】:

          【解决方案5】:

          对于 HTML 5 数据属性,您可以使用 data()

          $($(li).find('a').find('span').data('tooltip', 'foo'));
          

          【讨论】:

          • 谢谢,但是,已经提供了这样的答案。下一次,你必须更快! :)
          【解决方案6】:

          我假设您想要执行以下操作:

          $('li a').find('span').data('tooltip', 'foo');
          

          【讨论】:

          • 非常感谢,+1 的完整答案。
          • @gsamaras 啊!应该是,。在新键盘上打字。
          【解决方案7】:

          使用简单的数据属性

          $('.tooltip[data-tooltip]').data('tooltip', 'foo');
          

          【讨论】:

          • 有趣的方法,+1。
          猜你喜欢
          • 2016-07-01
          • 1970-01-01
          • 2013-06-30
          • 2018-06-28
          • 1970-01-01
          • 1970-01-01
          • 2015-08-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多