创建一个带有代表每个图像的点的滑块,每个都没有返回图像元素?

时间:2012-02-09 19:22:14

标签: jquery

使用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'

2 个答案:

答案 0 :(得分:2)

编写$(item)来获取jquery对象。

答案 1 :(得分:1)

item.hasClass('active')

应该是:

$(item).hasClass('active')

因为通过迭代,您可以直接引用该元素,hasClass是jQuery对象的函数。