2012-02-04 7 views
1

クラス.pageを持つすべてのdivを配列に挿入し、配列の繰り返しを使用してそれぞれを呼び出す必要があります。例えば、配列pages []は、ページ[2]のdivに特定のエフェクトを追加することができます。同じクラスのすべてのdivを配列に挿入しますか?

私はgetElementByClassNameは、あなたがこのようcalssNameプロパティを使用することができますsupported.Howeverされていないブラウザの一部で考える
+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

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 
}); 

ハッピー反復。

関連する問題