2013-07-21 4 views
1

화면에서 모든 이미지를 숨기고 왼쪽 또는 오른쪽을 클릭 할 때마다 한 번에 하나씩 이미지를 표시하려고합니다.jQuery .get, then .each, then .css function

난 당신이 CSS에 img { display:none; }를 사용하여 모든 것을 숨길 수 있습니다 알고 있지만 (I 각 개체에 다른 스타일을 적용 할 수 있기 때문에) 나는 이런 식으로 일을 해요 :

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

을하고 나는이 뜻을 알고 아마도 과 .each()을이 방법으로 사용할 수 있다고 생각하지 않기 때문에 오류가 발생했을 가능성이 높습니다. 콘솔에 Uncaught TypeError: Object [object Array] has no method 'each'이 나와 있습니다.

실제로 .get, .each, .css을 어떻게 사용하고 각각에 개별적으로 CSS 스타일을 적용합니까?

+0

당신이 바로'갔지()'일부를 생략 봤어? – DCoder

+1

'.get()'은 선택된 요소를 포함하는 배열을 얻습니다. '.get()'을 사용한다면 네이티브 JavaScript ['Array.forEach'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/)를 사용할 수 있습니다. 각각) . –

+0

아아, 실제로 완전히 이미 $ ("img [class * = 'wp-image']")를 잊어 버렸고,'.eq() '를 사용하여 개별적으로 선택할 수 있습니다. –

답변

1

. 당신은 모든 이미지를 숨길 수 있습니다 :

$("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

+1

이것은 꽤 있습니다. 명확한 답 대답. –

2

.each()을 전혀 사용할 필요가 없습니다. 대부분의 jQuery 방법은 선택한 모든 요소 컬렉션에 적용하고 자동으로 배포 할 수 있습니다 : 당신은 당신이 각 요소에 조건을 변경해야 아마도 때문에, .each를 사용해야하는 경우

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

, 당신은에 직접 적용 컬렉션 :

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

당신은 완전히 얻을 제거 할 수 있으며, $ 각각의 방법

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

난 당신이없이 할 수 있다고 생각 수()는 숨기를 사용할 수 있습니다

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

() 여기 .get() 방법에 대한 필요가 없습니다