2011-01-07 3 views
2

여기에 글을 게시하기 전에 직접 해 보았습니다 만,이 시점에서 벽에 부딪혔습니다.전체가 아닌 하나의 요소 만 교체하십시오.

내가 제품의 목록을 가지고, 각 제품은 '장바구니에 담기'버튼/이미지를 가지고 있으며, 그 이미지가 이미지 '장바구니에 추가 항목'을 함께 교체해야합니다.

내가 가진 문제는 하나의 이미지를 바꿀 때 모든 이미지가 대체된다는 것입니다. 이제 jQuery의 새로운 기능을 알 수 있습니다. 여기

//Replace the 'Add To Cart' button 
$('.add-to-cart-btn').click(function(){ 
    $('.add-to-cart-btn').replaceWith('<img src="images/button-added-to-cart.png" alt="Item added to Cart">'); 
return false; 
}); 

내 HTML입니다 :

내 jQuery를 당신이 항목이 추가 될 때, 나는 돈 때문에, 나는 '전체 AHREF 요소를 교체하고 있습니다 볼 수 있듯이

<a href="#" class="add-to-cart-btn"><img src="images/button-add-to-cart.png" alt="Add to Cart"></a> 

버튼을 다시 클릭 할 수있게하려고합니다.

'장바구니에 추가'버튼/이미지를 어떻게 바꾸는 것이 좋을까요?

도움과 도움을 주셔서 감사합니다.

답변

3

선택한 항목 (일명 클릭 한 항목) 만 바꾸기를 원하므로 다시 선택하지 말고 대신 클릭 한 개체 (this)를 사용하십시오.

//Replace the 'Add To Cart' button 
$('.add-to-cart-btn').click(function(){ 
    $(this).replaceWith('<img src="images/button-added-to-cart.png" alt="Add to Cart">'); 
return false; 
}); 
+0

$ (이), DOH! 와우, 이제 알았어. 도와 주셔서 감사합니다 JasCav. –

+0

JasCav, 생각대로 : 새로운 이미지를 희미하게하려면 어떻게해야합니까? 나는 "$ (this) .fadeIn ('Item added to Cart');" 하지만 작동하지 않습니다. 미리 감사드립니다. –

1

나는이 작업을 수행하는보다 효율적인 방법이있을 거라고 생각 :

$('.add-to-cart-btn').click(function() { 
    this.src = 'images/button-added-to-cart.png'; 
    this.alt = 'Item added to Cart'; 
    return false; 
}); 
+0

Marcus, 코드를 사용해 보았지만 작동하지 않습니다. 감사. –

+1

@ 리카르도 (Ricardo) 적어도 원칙적으로 그렇습니다. 나는 그것을 보여주는 [빠른 데모] (http://jsfiddle.net/marcuswhybrow/awncb/)를 만들었습니다. 이는보다 원활한 프로세스가되도록 제자리에서 수정되기 때문에 바람직합니다. –

+0

음, 너 맞아. 마커스. 나는 여전히 위의 해결책보다 바람직한 이유는 모르겠다. 나는 당신에게 투표를 시도했다. 그러나이 물건은 내가 2 일 전에 벌써 투표했다라고 나에게 이야기하고있다. 그리고 나의 투표는 잠긴다. .. 무엇인가! 고마워! –

관련 문제