2016-10-19 62 views
2

一些問題,我想更改按鈕的顏色使用此代碼我有jQuery的CSS方法

$('.vote').click(function(){ 
    var self = $(this); 
    var type = $(this).data("type"); 
    var action = $(this).data("action"); 
    var parent = self.parent(); 
    if(!(status == '1')){ 
    if(type == '1'){ 
     self.css("color","orange"); 
    } 
    else if(type == '2'){ 
     self.css("color":"red"}); 
    } 
    } 
}); 

點擊它不工作的時候了。但是,當我試圖把此行self.css("color","orange"); IF語句外面工作:

$('.vote').click(function(){ 
    var self = $(this); 
    var type = $(this).data("type"); 
    var action = $(this).data("action"); 
    var parent = self.parent(); 
    self.css("color","orange"); 
    if(!(status == '1')){ 
    if(type == '1'){ 
     //if statement here 
    } 
    else if(type == '2'){ 
     //if statement here 
    } 
    } 
}); 

的問題是,這不是我希望發生的。我如何使用上面的第一個代碼來實現它。

+0

我的猜測要麼是狀態不等於一個或類型不等於1 – user1289451

+0

看起來像你的問題是不是與jQuery的CSS的方法,但是你的條件邏輯(if語句)確保'type'和'status'是你期望他們的那個 – roger

+0

這是我的錯......我沒有注意到我把這個類型從1和2改爲'up'和'down'。所以謝謝指出 –

回答

1

的問題似乎是以下行:

self.css("color":"red"}); 

你已經錯過了打開支架{這裏:

self.css({"color":"red"}); 
_________^ 

或者只是使用逗號,,你在第一個例子做:

self.css("color","red"); 

希望這會有所幫助。

var status = '2'; 
 

 
$('.vote').click(function(){ 
 
    var self = $(this); 
 
    var type = $(this).data("type"); 
 
    var action = $(this).data("action"); 
 
    var parent = self.parent(); 
 

 
    if(!(status == '1')){ 
 
    if(type == '1'){ 
 
     self.css("color","orange"); 
 
    } 
 
    else if(type == '2'){ 
 
     self.css({"color":"red"}); 
 
    } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button class='vote' data-type='1'>Vote type 1</button> 
 
<button class='vote' data-type='2'>Vote type 2</button>

+0

仍然無法正常工作,但感謝您指出 –

+0

應該檢查我的工作示例。 –

+0

謝謝我認爲我自己發現了這個問題......它是在html部分,但我認爲我不會注意到沒有你的建議,所以謝謝 –