2014-06-21 5 views
0

나는 C#에서이 코드가 있습니다getelementbyid(). 길이가 정의되지 않았습니까?

@foreach (var photo in photos){ 
      <div class="comment1" id="many"> 
      @photo.name 
      </div> 
} 
<input type="button" name="button" onclick="count()" /> 

을 그리고 "photo.names의"가 얼마나 많은 알고 싶다, 그래서 나는이 자바 스크립트

function count(){ 
var algo = document.getElementById("many"); 
alert(algo.length); 
} 

을했다하지만 어떤 이상한 이유로 준다 나 "undefined". 왜 그런가? 나는 메소드 이름이 제안하는 등의 단일 요소, 배수가 아닌를 가져, 별도의 파일

+1

먼저 동일한 id를 가진 페이지에 여러 요소를 가질 수 없습니다. – JTG

+0

또한 ** getElementById **는 소문자로 시작합니다 – blex

+0

sory my 실수 – Brunodeluk

답변

1

document.getElementById에 자바 스크립트가 있습니다.

HTML의 ID는 이며 고유 한 문자는입니다. id가있는 요소는 하나만 있어야합니다. 그래서 getElementById 정확히 그 요소를 반환합니다.

여러 항목을 표시하려면 클래스 이름을 사용해야합니다. 그런 다음 document.getElementsByClassName을 사용할 수 있습니다.

+0

왜 downvote입니까? – poke

3

왜 그런가?

HTML 요소에는 length 속성이 없습니다. 요소의 길이를 찾으려면이 작업을 수행해야합니다.

document.getElementById("many").innerHTML.length; 

ID는 요소에 고유해야 함을 명심하십시오. 당신이 찾고있는 경우

있다 "얼마나 많은"의견, 당신은 요소에서 고유 할 필요가 없습니다 다음

document.getElementsByClassName("comment1").length; 

수업을해야 할 것입니다 및 및 요소보다 더 할 수 있습니다 1 클래스.

관련 문제