2011-11-18 25 views
1

我想使用jquery得到<li>的id。我能夠使用alert($(this).text())獲得文本,但是當我嘗試alert($(this).id())時,它表示undefined如何使用jquery獲取html列表項的id?

<html> 
<head> 
<style type="text/css"> 
ul { 
    list-style-type: none; 
} 
</style> 
<script type="text/javascript" src="jquery1.6.4min.js"></script> 
<script type="text/javascript" > 
    $(document).ready(function() { 
    $('#list li').click(function() { 
    alert($(this).id()); 
    alert($(this).text()); 
    }); 
    }); 
</script> 
</head> 
<body> 
<ul id="list"> 
    <li id="l1">Value 1</li> 
    <li id="l2">Value 2</li> 
    <li id="l3">Value 3</li> 
    <li id="l4">Value 4</li> 
    <li id="l5">Value 5</li> 
    <li id="l6">Value 6</li> 
    <li id="l7">Value 7</li> 
    <li id="l8">Value 8</li> 
    <li id="l9">Value 9</li> 
    <li id="l10">Value 10</li> 
    <li id="l11">Value 11</li> 
    <li id="l12">Value 12</li> 
</ul> 
</body> 
</html> 

Plase幫我解決這個問題。提前致謝。

回答

10

您應該使用attr()功能要素獲取屬性:

alert($(this).attr('id')); 

jQuery對象沒有一個叫id()方法這就是爲什麼你得到的結果爲undefined

3

它實際上$(this).attr('id'),不$(this).id()

2

id是屬性。您需要

alert($(this).attr('id')) 
1
$(document).ready(function() { 
    $('#list li').click(function() { 
    alert($(this).attr("id")); 
    alert($(this).text()); 
    }); 
    }); 

檢查的jsfiddle here

0

你可以使用jQuery 1.6 +,那麼你應該使用這段代碼。

var id = $(this).prop('id');