2012-02-09 29 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> 

從本質上講,我想點是立體表示活動圖像,但我得到一個錯誤說遺漏的類型錯誤:對象#有沒有方法「hasClass '

回答

1
item.hasClass('active') 

應該是:

$(item).hasClass('active') 

因爲通過迭代你有直接的參考元素,hasClass是jQuery對象的功能。

2

代替$(item)得到一個jquery對象。