jQuery .get,然后.each,然后是.css函数

时间:2013-07-21 10:13:55

标签: jquery

我正试图隐藏屏幕上的所有图像,并在向左或向右点击时一次显示一个图像。

我知道你可以在CSS中使用img { display:none; }来隐藏所有内容,但我这样做(因为我可能想对每个对象应用不同的样式):

$("img[class*='wp-image']").get().each(function(){
    $(this).css("display","none");
});

我知道这可能会引发错误,因为我认为你不能以.each()这种方式使用.get(),它确实引用了Uncaught TypeError: Object [object Array] has no method 'each'在控制台上。< / p>

您如何实际使用.get.each.css并将CSS样式分别应用于每个样式?

4 个答案:

答案 0 :(得分:2)

您根本不需要使用.each()。大多数jQuery方法可以应用于集合,它们会自动分发到所有选定的元素:

$("img[class*='wp-image']").css("display", "none");

如果您确实需要使用.each,可能是因为您需要对每个元素进行条件更改,您可以直接将其应用于集合:

$("img[class*='wp-image']").each(function(){
    $(this).css("display","none");
});

答案 1 :(得分:1)

您可以完全删除get和$ each方法

$("img[class*='wp-image']").css("display","none");

答案 2 :(得分:1)

我认为你可以在没有get()

的情况下做到这一点
$("img[class*='wp-image']").each(function(){
    $(this).css("display","none");
});

你也可以使用hide()

答案 3 :(得分:1)

这里不需要.get()方法。您可以隐藏所有图像:

$("img[class*='wp-image']").each(function (index) {

    // Hide all the images
    $(this).css("display", "none");                
});

并将CSS样式分别应用于每个样式,如:

$("img[class*='wp-image']").each(function (index) {        

    // Check the index of the items
    if (index == 0) {
        // Apply specific style to first element
        $(this).css("border", "2px solid red");
    } else if (index == 1) {
        // Apply specific style to second element
        $(this).css("border", "2px solid green");
    }
    // similarly you can apply styles to each of them individually

});

FIDDLE DEMO