jQuery: получить атрибут данных
в моем html у меня есть span
элемент:
<span class="field" data-fullText="This is a span element">This is a</span>
и я хочу получить . Я попробовал эти два способа, но они не сработали (оба возвращают 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, который я использую), но, тем не менее, я попробовал.
И это сработало!
может кто-нибудь объяснить, почему?
5 ответов:
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); });
изменить идентификаторы и атрибуты данных, как вы хотите!
<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>