从列表中获取所有ID

时间:2016-10-17 08:03:28

标签: javascript jquery html html5 list

我有这个HTML:

<ul id="sortable" >
    <li class="myclass" id="1">One item</li>
    <li class="myclass" id="3">Another item</li>
</ul>

此列表更改不是静态的。所以ids可以改变。如何从此列表中获取所有ID(值)?

4 个答案:

答案 0 :(得分:3)

您可以使用map()并返回ID数组

&#13;
&#13;
var ids = $('#sortable li').map(function() {
  return $(this).attr('id');
}).get();

console.log(ids)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="sortable">
  <li class="myclass" id="1">One item</li>
  <li class="myclass" id="3">Another item</li>
</ul>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

$( ".myclass" ).each(function( ){
   var id = $(this).attr('id');
   // this will return id
});

答案 2 :(得分:0)

您可以遍历所有li标记,并将其ID转换为数组。

 var arrayOfIds = [];

 $('#sortable li').each(function(){
   arrayOfIds.push($(this).attr('id'));
});

console.log(arrayOfIds);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="sortable" >
    <li class="myclass" id="1">One item</li>
    <li class="myclass" id="3">Another item</li>
   <li class="myclass" id="4">Yet Another item</li>
   <li class="myclass" id="5">And Another item</li>
</ul>

答案 3 :(得分:-1)

var IDs = [];
$("#sortable").find("li").each(function(){ IDs.push(this.id); });

console.log(IDs);
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<ul id="sortable" >
    <li class="myclass" id="1">One item</li>
    <li class="myclass" id="3">Another item</li>
</ul>
</body>
</html>