Tuesday, June 4, 2024
 Popular · Latest · Hot · Upcoming
185
rated 0 times [  187] [ 2]  / answers: 1 / hits: 60406  / 14 Years ago, sat, march 5, 2011, 12:00:00
<ul id='langs'>
<li data-val='en'>english</li>
<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?


More From » jquery

 Answers
40

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.


[#93416] Friday, March 4, 2011, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
leannjaidynd

Total Points: 111
Total Questions: 100
Total Answers: 94

Location: Slovenia
Member since Wed, Apr 6, 2022
2 Years ago
leannjaidynd questions
Thu, Mar 18, 21, 00:00, 3 Years ago
Sun, Jul 26, 20, 00:00, 4 Years ago
Mon, May 11, 20, 00:00, 4 Years ago
Tue, Feb 4, 20, 00:00, 4 Years ago
Mon, Sep 16, 19, 00:00, 5 Years ago
;