如何从JQuery中的列表中获取特定索引处的列表项的id?

时间:2016-07-25 20:14:46

标签: jquery

我需要检索单击列表项旁边的列表项的id。 例如,请考虑以下列表。现在,当点击“第1项”时,我需要检索“第2项”的ID。

<ul>
<li id="id1">item 1</li>
<li id="id2">item 2</li>
<li id="id3">item 3</li>
</ul>

所有这些id都是动态的。我可以使用以下代码获取下一个列表项:

$li = $('li').get(ui.item.index() + 1);

但是当我尝试使用以下代码获取它的id时,它不起作用。

$nextid = $li.id;

或者

$nextid = $li.attr('id');

如果有人可以帮我解决这个问题或建议任何替代解决方案,我真的很感激!

1 个答案:

答案 0 :(得分:1)

您可以使用next()功能:

更新#1

检查第二个听众。每次单击该按钮,都会生成1到6之间的随机数。使用此数字来获取具有此索引的list元素(减1,因为index基于零)。

更新#2

更新了第一个函数,以便当用户点击最后一个列表元素时,将会提醒第一个列表元素的ID,正如David Thomas所提到的那样。

&#13;
&#13;
$(document).on('click', 'li', function() {
  var nextID;
  var nextElem = $(this).next(); 
  if (nextElem.length > 0) {
     nextID = nextElem.attr('id');
  } else {
     nextID = $(this).closest('ul').children('li').eq(0).attr('id');
  }     
  alert(nextID);
});

$(document).on('click', '#random', function() {
   var index = Math.floor(Math.random() * 6) + 1;
   var elem = $('ul').find('li').eq(index - 1);
   alert(elem.attr('id'));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<ul>
<li id="id1">item 1</li>
<li id="id2">item 2</li>
<li id="id3">item 3</li>
<li id="id4">item 4</li>
<li id="id5">item 5</li>
<li id="id6">item 6</li>
</ul>

<button id="random">Get random id</button>
&#13;
&#13;
&#13;