2017-04-22 48 views
1

標籤取代這是我的jQuery代碼如何刪除按鈕,並通過jQuery的

<script> 
$(".simpleCart_shelfItem button").click(function() 
    { 
     $(this).prop('disabled', true); 
     $(this).addClass('disabled'); 
     $(this).html("Adding &nbsp;&nbsp;<i class='icon-spinner9 spin'></i>"); 

     var action = "add"; 
     var queryString = "action="+action+"&pid="+this.value; 
     var $this = $(this); 

     $.ajax({ 
       url: "add_cart", 
       data: queryString, 
       type: "POST", 
       success:function(data) 
        { 
         $this.remove(); 
         $($this).before("<a href='cart' class='btn view-more'>In Your Cart (View)</a>"); 
        }, 
       error:function(){} 
      }); 
    }); 
</script> 

這是我的HTML代碼:

<div class="simpleCart_shelfItem"> 
    <p><span>&#8377; price</span> <i class="item_price">&#8377; selling price</i></p> 
    <button value="some value" class="btn view-more">Add To Cart</button> 
    <a href="product?id=id> 
     <button class="hashs-cart">Buy Now</button> 
    </a> 
</div> 

我想要實現的是儘快用戶點擊添加到購物車的按鈕應該被刪除,並用此替換=><a href="cart" class="btn view-more">In Your Cart (View)</a>

通過使用上述JQuery代碼我能夠刪除按鈕,但無法repl與<a>標籤一起使用。

任何人都可以幫助這個,爲什麼會這樣呢?

+0

aaaaand如果我從購物車中刪除嗎? :D –

+1

'$ this'已經**了** $(this)'所以不需要'$($ this)' - 只需使用'$ this'。 *這個*清楚嗎? –

+0

如果你刪除$ this.remove()的意思。那麼你不能使用$(this)來使用$(this)添加元素。因爲它沒有更多 – JYoThI

回答

0
$($this).before 

應該$this.replacewith

<script> 
$(".simpleCart_shelfItem button").click(function() 
{ 
    $(this).prop('disabled', true); 
    $(this).addClass('disabled'); 
    $(this).html("Adding &nbsp;&nbsp;<i class='icon-spinner9 spin'></i>"); 

    var action = "add"; 
    var queryString = "action="+action+"&pid="+this.value; 
    var $this = $(this); 

    $.ajax({ 
      url: "add_cart", 
      data: queryString, 
      type: "POST", 
      success:function(data) 
       { 
        /*$this.remove();*/ //remove this line 
        $this.replacewith("<a href='cart' class='btn view-more'>In Your Cart (View)</a>"); 
       }, 
      error:function(){} 
     }); 
});