【问题标题】:How to get the id from the first li in a ul list如何从 ul 列表中的第一个 li 获取 id
【发布时间】:2014-05-19 19:41:19
【问题描述】:

我正在尝试使用 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>

【问题讨论】:

  • 请出示您的 HTML 和 JS 代码。
  • 对不起,我忘记了密码。
  • 实际上,您的 &lt;li&gt; 元素没有 ID。它们包含的 &lt;span&gt; 元素确实如此。
  • 感谢您的精彩回答 enhzflep

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


【解决方案1】:

鉴于此列表

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

您可以使用此代码获取所有&lt;li&gt; 的ID:

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

这是Fiddle 玩。查看MDNArray.map() 的文档。

【讨论】:

  • 没关系 enhzflep 回答了我的问题
【解决方案2】:
var ulElement = document.getElementById('sortable');
var liElements = ulElement.getElementsByTagName('li');

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

此代码会将 idOfInterest 设置为 '1a'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    相关资源
    最近更新 更多