修改属性值

Modify value of attribute

如何修改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');

没有影响。

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

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

使用.data():

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

嗯,直接的答案是 .attr('data-tooltip', 'new value');。但是,也可以使用 .data('tooltip', 'new value');

,并且更推荐(参见 hjpotter92 的评论)

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

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

最短的表示法是:

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

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

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

使用简单的数据属性

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