2012-02-04 4 views
1

.page 클래스가있는 모든 div를 배열에 삽입 한 다음 배열 반복을 사용하여 각 div를 호출하려고합니다. 예를 들어 배열 페이지 []는 페이지 [2]의 div에 특정 효과를 추가 할 수 있어야합니다.동일한 클래스를 가진 모든 div를 배열에 삽입 하시겠습니까?

+1

공유 할 샘플 코드가 있습니까? div에 배열을 추가하는 대신 index() - http://api.jquery.com/index/ - 또는 ': eq'선택기를 사용할 수 있습니다. –

+1

배열을 만드는 대신 $ ("div.page:eq(2)"를 사용하지 않는 이유는 무엇입니까? –

+0

팁 주셔서 대단히 감사합니다. –

답변

1

원하십니까?

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
     var arr=[]; 
     $(".page").each(function(){ arr.push($(this));}); 
     $.each(arr,function(key,val){ val.css('color','gray')}); 
}); 
</script> 
</head> 
<body> 
<b>.page content will be colored in gray.</b><br/><br/> 
<div class="dontDo">The quick </div> 
<div class="page">brown fox jumps</div> 
<div class="doIt"> over the lazy dog</div> 
<div class="page"> over the lazy dog</div> 
</body> 
</html> 
4
var pageDivs = document.getElementsByClassName("page"); 
for(i = 0; i < pageDivs.length;i++) 
{ 
    //apply your effects using pageDivs[i] 
} 
0

나는 getElementByClassName는이 같은 calssName 속성을 사용할 수 있습니다 supported.However되지 않는 브라우저의 일부에서 생각 :

function getElementsByClassName(strClassName, obj) { 
    if (obj.className == strClassName) { 
     //insert this elm into array 
     array.push(obj); 
    } 
} 
0

.getElementsByClassName is not supported < IE8을. 걱정할 필요가 없다면 Sunil의 응답이 도움이 될 것입니다.

당신이 the jQuery way을 원하는 경우

:

$(".page").each(function(index) { 
    // do stuff here 
}); 

해피 반복하는.

관련 문제