get value of an attribute of the clicked element
<ul id='langs'>
<li data-val='en'>english</li>开发者_如何学Go
<li data-val='fr'>francais</li>
<li data-val='it'>italiano</li>
</ul>
when the user clicks on any of these <li>
I want to alert()
it's data-val attribute value
anybody knows how?
Original answer - 2011
$('li').click(function () {
alert($(this).data('val'));
});
See DEMO.
Update - 2017
Keep in mind that if you want to use the ES6 arrow function syntax, you cannot use this
and you need to use e.currentTarget
instead, where e
is the event object passed as the first parameter to the event handler:
$('li').click(e => alert($(e.currentTarget).data('val')));
See DEMO.
This should do the job:
$(document).ready(function() {
$('#langs li').click(function() {
alert($(this).attr('data-val'));
});
});
Have a look at the Docs
$('li').click(function() {
alert($(this).attr('data-val'));
});
精彩评论