Почему он не возвращает значение в 'li'? Что я делаю не так?
$("#list li").click(function() { var selected = $(this).val(); alert(selected); })
Вам нужен HTML или текст, который находится внутри тега li?
li
Если это так, используйте:
$(this).html()
или
$(this).text()
val() только для полей формы.
val()
<ul id="unOrderedList"> <li value="2">Whatever</li> . . $('#unOrderedList li').click(function(){ var value = $(this).attr('value'); alert(value); });
Вы ищете атрибут "value" внутри тега "li"
Используйте .text () или .html ()
$("#list li").click(function() { var selected = $(this).text(); alert(selected); });
Скорее всего, вы хотите что-то вроде этого:
$("#list li").click(function() { var selected = $(this).html(); alert(selected); });
У li нет значения. Только связанные с формой элементы, такие как input, textarea и select, имеют значения.
Вы можете сделать то же самое, используя jQuery on () .
$("#list").on('click','li',(function() { var selected = $(this).text(); //or .html() alert(selected); })
<div class="inter"> <p>Liste des Produits</p> <ul> <li><a href="#1">P1</a></li> <li><a href="#2">P2</a></li> <li><a href="#3">P3</a></li> </ul> </div> $(document).ready(function(){ $(".inter li").bind( "click", function(){ alert($(this).children("a").text()); }); });
Чтобы получить значение li, мы должны использовать $ ("# list li"). click (function () { var selected = $ (this) .html ();
var selected = $(this).text(); alert(selected);
})