在UL中获取父LI的大小?

时间:2015-09-30 13:29:30

标签: javascript jquery html

如何修改以下代码,以便我只获得第一个li中的父ul,然后使用另一个变量获取给定子{{1}的子li }}?



ul

	$(function () {
		var vULSize = $("ul li").size();
		console.log(vULSize);
	});




小提琴:http://jsfiddle.net/0sp9pohr/

2 个答案:

答案 0 :(得分:2)

首先,您需要将其全部包含在内容中,比如说例如ID为container的div。然后你可以做这样的事情:

var vULSize = $("#container > ul > li").length;

> selector只为您提供直接后代。

如果要将列表元素的数量向下计数一级,这将为您提供一个包含结果的数组:

var counts = $("#container > ul > li").map(function() {
    return $(this).find("li").length                                       
}).get();

正如评论中所指出的,您应该使用.length代替.size()

答案 1 :(得分:2)

您可以忽略所有li的后代li

$(function() {
  var vULSize = $("ul li:not(li li)").size();
  snippet.log(vULSize);
});
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>First</li>
  <li>Second
    <ul>
      <li>Second Sub 1</li>
      <li>Second Sub 2</li>
    </ul>
  </li>
  <li>Third</li>
  <li>Third
    <ul>
      <li>Third Sub 1</li>
      <li>Third Sub 2</li>
    </ul>
  </li>
</ul>