2009-02-15 81 views
20

爲什麼它不返回'li'中的值?我究竟做錯了什麼?如何在jQuery中獲取元素值

$("#list li").click(function() { 
    var selected = $(this).val(); 
    alert(selected); 
}) 
+0

你到底想幹什麼?你的html列表是什麼樣的? – markt 2009-02-15 20:36:10

回答

53

您是否想要li標記內的HTML或文本?

如果是這樣,使用:

$(this).html() 

或:

$(this).text() 

val()僅用於表單字段。

+0

你是什麼意思的「表單域」?你可以給我一個例子嗎? TNX – stack 2015-12-05 23:55:04

2

李沒有價值。只有與表單相關的元素(如input,textarea和select)才具有值。

2

最可能的是,你想是這樣的:

$("#list li").click(function() { 
     var selected = $(this).html(); 
     alert(selected); 
}); 
3

使用的.text()或.html()

$("#list li").click(function() { 
     var selected = $(this).text(); 
     alert(selected); 
}); 
6
<ul id="unOrderedList"> 
<li value="2">Whatever</li> 
. 
. 



$('#unOrderedList li').click(function(){ 
     var value = $(this).attr('value'); 
    alert(value); 
    }); 

你想找的屬性 「值」 裏面的「li」標籤

0
$("#list li").click(function() { 
     var selected = $(this).html(); 
     alert(selected); 
}); 
1
<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()); 
      }); 
     }); 
1

你可以使用jQuery on()來做同樣的事情。

$("#list").on('click','li',(function() { 
    var selected = $(this).text(); //or .html() 
    alert(selected); 
}) 
0

爲了得到李的價值,我們應該用 $( 「#列表裏」)點擊(函數(){VAR 選擇= $(本)的.html();

var selected = $(this).text(); 

alert(selected); 

})