jQuery : 목록 요소의 수를 세시겠습니까?


134

jQuery를 사용하여 추가 항목을 추가하기 전에 서버 측 코드에서 생성 된 목록이 있습니다.

<ul id="mylist">
    <li>Element 1</li>
    <li>Element 2</li>
</ul>

답변:


225

시험:

$("#mylist li").length

궁금한 점이 있습니다. 왜 크기를 알아야합니까? 당신은 단지 사용할 수 없습니다 :

$("#mylist").append("<li>New list item</li>");

?


3
추가를 사용하여 새 항목을 추가하고 있지만 목록에있을 수있는 항목 수에 제한이 있습니다.이 상태에서 사용자는 여전히 최대 4 개의 항목을 추가 할 수 있지만 2가 올 수 있습니다 이전 상태에서. :)
Tom

35
jQyery 문서 는 함수 호출의 오버 헤드를 피하기 위해 .lengthover .size()를 사용 하는 것이 좋습니다 . api.jquery.com/size
Joe


8
@ gloomy.penguin .length함수가 아닙니다.
hexacyanide

요소 너비를 즉시 다시 계산하려면 <li> 카운트가 필요합니다.
Hristo

51
var listItems = $("#myList").children();

var count = listItems.length;

물론 당신은 이것을 응축 할 수 있습니다

var count = $("#myList").children().length;

jQuery에 대한 자세한 도움말을 보려면 http://docs.jquery.com/Main_Page 를 시작하는 것이 좋습니다.


5
안전을 위해 $ ( "# myList"). children ( "li"). length; 어떤 이유로 든 목록에 다른 항목을 추가 한 경우이 작은 코드 줄을 잊지 않아도됩니다.
SgtPooki

10

.size () 메서드 또는 .length 속성을 호출 할 때 동일한 결과가 발생하지만 .length 속성은 함수 호출의 오버 헤드가 없으므로 선호됩니다. 가장 좋은 방법은 다음과 같습니다.

$("#mylist li").length


4

물론 다음과 같습니다.

var count = $("#myList").children().length;

다음과 같이 요약 할 수 있습니다 (변수를 설정할 필요가없는 'var'을 제거하여)

count = $("#myList").children().length;

그러나 이것은 더 깨끗합니다.

count = $("#mylist li").size();

2
이 방법은 최상위 ul의 자식 ul-elements 내 li-tags도 계산하지 않습니까?
09 초에 시작

2
"변수를 설정하기 위해 'var'이 필요하지 않다"고 말하는 것이 지나치게 단순화되었습니다. 'var'을 사용하지 않으면 모든 변수가 전역으로 나타납니다. 참조 stackoverflow.com/questions/1470488/...
라파엘 알메이다


1

목록 요소 수

alert($("#mylist > li").length);

1

목록 요소 수를 세는 또 다른 방법은 다음과 같습니다.

var num = $("#mylist").find("li").length;
console.log(num);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="mylist">
  <li>Element 1</li>
  <li>Element 2</li>
  <li>Element 3</li>
  <li>Element 4</li>
  <li>Element 5</li>
</ul>


0

$("button").click(function(){
    alert($("li").length);
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
  <meta charset="utf-8">
  <title>Count the number of specific elements</title>
</head>
<body>
<ul>
  <li>List - 1</li>
  <li>List - 2</li>
  <li>List - 3</li>
</ul>
  <button>Display the number of li elements</button>
</body>
</html>

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.