如何获取数据属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

在我的html中,我有一个span要素:

<span class="field" data-fullText="This is a span element">This is a</span>

我想要得到data-fullText属性。我试过这两种方法,但都没有用undefined)):

$('.field').hover(function () {
    console.log('using prop(): ' + $(this).prop('data-fullText'));
    console.log('using data(): ' + $(this).data('fullText'));
});

然后我搜索并发现了以下问题:如何获得数据-id属性?jQuery无法获得数据属性值

双方的答案是"Use .attr('data-sth') or .data('sth')"

我知道.attr()是不推荐的(在jQuery-1.11.0中,我使用了),但是,我尝试了它。

结果成功了!

谁能解释一下原因吗?

提问于
用户回答回答于

你可以使用这个.attr()函数:

$(this).attr('data-fullText')

或者如果你小写属性名称:

data-fulltext="This is a span element"

那么你可以使用这个.data()函数:

$(this).data('fulltext')

.data()函数仅适用于小写属性名称。

用户回答回答于

1.试试这个:.attr()

  $('.field').hover(function () {
    var value=$(this).attr('data-fullText');
  $(this).html(value);
});

演示1: http://jsfiddle.net/hsakapandit/Jn4V3/

2.试试这个:.Data()

$('.field').hover(function () {
    var value=$(this).data('fulltext');
  $(this).html(value);
});

演示2: http://jsfiddle.net/hsakapandit/Jn4V3/1/

扫码关注云+社区

领取腾讯云代金券