[英]jQuery: get data attribute
在我的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'));
});
然后我搜索并发现了以下问题: 如何获取data-id属性? 和jQuery无法获取数据属性值 。
两者的答案都是"Use .attr('data-sth') or .data('sth')"
。
我知道.attr()
已被弃用(在我使用的jquery-1.11.0中),但是,我尝试了一下。
它奏效了!
有人可以解释为什么吗?
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);
});
这对我有用
$('.someclass').click(function() {
$varName = $(this).data('fulltext');
console.log($varName);
});
根据需要更改ID和数据属性!
<select id="selectVehicle">
<option value="1" data-year="2011">Mazda</option>
<option value="2" data-year="2015">Honda</option>
<option value="3" data-year="2008">Mercedes</option>
<option value="4" data-year="2005">Toyota</option>
</select>
$("#selectVehicle").change(function () {
alert($(this).find(':selected').data("year"));
});
这是工作示例: https : //jsfiddle.net/ed5axgvk/1/
这是我想出的:
$(document).ready(function(){ $(".fc-event").each(function(){ console.log(this.attributes['data'].nodeValue) }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <div id='external-events'> <h4>Booking</h4> <div class='fc-event' data='00:30:00' >30 Mins</div> <div class='fc-event' data='00:45:00' >45 Mins</div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.