Al.*_*.G. 64 html javascript jquery custom-data-attribute
在我的HTML中,我有一个span元素:
<span class="field" data-fullText="This is a span element">This is a</span>
Run Code Online (Sandbox Code Playgroud)
我想获得data-fullText属性.我尝试了这两种方式,但它们没有用(两者都返回undefined):
$('.field').hover(function () {
console.log('using prop(): ' + $(this).prop('data-fullText'));
console.log('using data(): ' + $(this).data('fullText'));
});
Run Code Online (Sandbox Code Playgroud)
然后我搜索并发现了以下问题:如何获取data-id属性?和jquery无法获取数据属性值.
这两个人的答案都是"Use .attr('data-sth') or .data('sth')".
我知道这.attr()已被弃用(在我使用的jquery-1.11.0中),但是,我试过了.
它工作了!
有人可以解释原因吗?
Dar*_*rov 132
你可以使用这个.attr()功能:
$(this).attr('data-fullText')
Run Code Online (Sandbox Code Playgroud)
或者如果你小写属性名称:
data-fulltext="This is a span element"
Run Code Online (Sandbox Code Playgroud)
然后你可以使用这个.data()功能:
$(this).data('fulltext')
Run Code Online (Sandbox Code Playgroud)
该.data()函数期望并仅适用于小写的属性名称.
小智 5
1. 试试这个: .attr()
$('.field').hover(function () {
var value=$(this).attr('data-fullText');
$(this).html(value);
});
Run Code Online (Sandbox Code Playgroud)
演示1: http: //jsfiddle.net/hsakapandit/Jn4V3/
2. 试试这个: .data()
$('.field').hover(function () {
var value=$(this).data('fulltext');
$(this).html(value);
});
Run Code Online (Sandbox Code Playgroud)
演示2: http: //jsfiddle.net/hsakapandit/Jn4V3/1/