1

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

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

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

而且我知道这可能会引发错误,因为我认为您不能.each().get()这种方式使用,并且确实如此,Uncaught TypeError: Object [object Array] has no method 'each'在控制台上引用。

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

4

4 回答 4

2

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

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

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

$("img[class*='wp-image']").each(function(){
    $(this).css("display","none");
});
于 2013-07-21T10:17:32.047 回答
1

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

$("img[class*='wp-image']").css("display","none");
于 2013-07-21T10:17:32.983 回答
1

我认为你可以在没有 get() 的情况下做到这一点

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

你也可以使用 hide()

于 2013-07-21T10:27:52.173 回答
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

});

小提琴演示

于 2013-07-21T10:32:03.037 回答