Как получить идентификатор элемента списка HTML с помощью jquery? - PullRequest
1 голос
/ 18 ноября 2011

Я хочу получить идентификатор <li>, используя jquery.Я смог получить текст, используя alert($(this).text()), но когда я попытался alert($(this).id()), он говорит: undefined.

<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>

Пожалуйста, помогите мне с этим.Заранее спасибо.

Ответы [ 5 ]

10 голосов
/ 18 ноября 2011

Вы должны получать атрибуты от элементов, используя функцию attr():

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

У объекта jQuery нет метода с именем id(), поэтому выполучить результат как undefined.

3 голосов
/ 18 ноября 2011

это на самом деле $(this).attr('id'), а не $(this).id().

2 голосов
/ 18 ноября 2011

id является атрибутом. Вам нужно

alert($(this).attr('id'))
1 голос
/ 18 ноября 2011
 $(document).ready(function() {
   $('#list li').click(function() {
    alert($(this).attr("id"));
    alert($(this).text());
   });
  });

Проверьте jsfiddle здесь .

0 голосов
/ 30 ноября 2015

Вы можете использовать jQuery 1.6+, тогда вам следует использовать этот код.

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