如何从ul列表中的第一个li获取id

时间:2014-05-19 19:41:20

标签: javascript jquery html jquery-ui jquery-ui-sortable

我正在尝试使用Javascript和Jquery从我从列表中生成的数组中获取ul列表的id值,数组值是lis但我无法获得我尝试使用的id值.innerHTML但是输出整个东西而不仅仅是id? .value什么都不输出.id也没有输出任何内容。我该怎么做才能从数组lis中获取id。 代码在

之下
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Sortable - Default functionality</title>

  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

  <style>
  #sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
  #sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
  #sortable li span { position: absolute; margin-left: -1.3em; }
  </style>
  <script>
  $(function() {
    $( "#sortable" ).sortable();
   $( "#sortable" ).disableSelection();
});

  </script>
</head>
<body>

<ul id="sortable" class="dummy" >
  <li class="ui-state-default" value="aa" ><span class="ui-icon ui-icon-arrowthick-2-n-s" id="1a" ></span>Item 1</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s" id="2b" ></span>Item 2</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s" id="3c" ></span>Item 3</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s" id="4d" ></span>Item 4</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s" id="5e" ></span>Item 5</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s" id="6f" ></span>Item 6</li>
  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s" id="7g" ></span>Item 7</li>
</ul>
 <script>
var theObject = document.getElementById("sortable");
var lis = theObject.children;
alert(lis[0].innerHTML.value);
</script>

</body>
</html>

2 个答案:

答案 0 :(得分:0)

鉴于此列表

<ul>
    <li id="1"></li>
    <li id="2"></li>
    <li id="3"></li>
</ul>    

您可以使用此代码获取所有<li>的ID:

map=Function.prototype.call.bind([].map)
list=document.querySelectorAll("li");
ids=(map(list, function(x){return x.id;}))

以下是Fiddle。查看Array.map()的{​​{3}}文档。

答案 1 :(得分:0)

var ulElement = document.getElementById('sortable');
var liElements = ulElement.getElementsByTagName('li');

var spanElements = liElements[0].getElementsByTagName('span');
var idOfInterest = spanElements[0].id;

此代码会将idOfInterest设置为&#39; 1a&#39;