私のhtmlにはspan
要素があります:
<span class="field" data-fullText="This is a span element">This is a</span>
そして、data-fullText
属性を取得したいと思います。私はこれらの2つの方法を試しましたが、それらは機能しませんでした(両方とも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では使用しています)が、試してみました。
そしてうまくいきました!
誰かが理由を説明できますか?
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>