2012-02-09 6 views
0

Javascriptを:イメージ要素を返さない、各イメージを表す点を持つスライダを作成しますか?

var images = $('#slideshow').children(); 

var dot_holder = $('#slider_dots'); 
/* Create the dots*/ 

images.each(function(index,item){ 

    if(item.hasClass('active')){ 
     dot_holder.append('<img src="Images/dot_solid.png" alt=""/>'); 
    }else{ 
     dot_holder.append('<img src="Images/dot_fade.png" alt=""/>'); 
    } 


}); 

HTML:基本的に

<div id="slideshow"> 
        <img src="Images/image_1.jpg" alt="image 1" class="active"/> 
        <img src="Images/image_2.jpg" alt="image 2"/> 
        <img src="Images/image_3.jpg" alt="image 3"/> 
        <img src="Images/image_4.jpg" alt="image 4"/> 
        <img src="Images/image_5.jpg" alt="image 5"/> 
        <img src="Images/image_6.jpg" alt="image 6"/> 
        <img src="Images/image_7.jpg" alt="image 7"/> 


       </div> 

が、私はしかし、私がキャッチされない例外TypeErrorを言って、エラーを取得し、ドットがアクティブなイメージを表現する固体になりたい:オブジェクト#は方法はありません「hasClass '

答えて

1
item.hasClass('active') 

は次のようになります。

$(item).hasClass('active') 

イテレーションを経て、要素への直接参照を持っている、とhasClassはjQueryオブジェクトの関数であるので。

2

代わりにjqueryオブジェクトを取得するために$(item)を書き込んでください。

関連する問題