在我的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'));
});
然后我搜查,发现这些问题:How to get the data-id attribute?和jquery can't get data attribute value。
这两个人的答案是"Use .attr('data-sth') or .data('sth')"
。
我知道.attr()
已被弃用(在我使用的jquery-1.11.0中),但是,我尝试了它。
它工作!
有人可以解释为什么吗?
'$(本)。数据( '全文') '会工作,因为属性较低。但的确,你应该把它设置为:'data-fulltext'或'data-full-text'。对于后面的,那么:'$(this).data('fullText')'会使用骆驼case syntax –
FYI,'我知道。不推荐使用attr()attr()不被弃用,这是用来设置/获取属性的方法,而不是属性 –
那么我应该用什么 - 'prop'或'attr'? –