2014-04-22 84 views
0

我認爲代碼擴大了問題所在。我想檢查顏色是否是藍色。我認爲這是「$(color)」的問題,但我不知道如何解決這個問題。功能:檢查值不起作用

function test(color) { 

       if ($(color) == 'blue') { 
        // DO SOMETHING 
       } else { 
        // DO SOMETHING 
       }  

      } 

      test("green"); 

更新:我添加了一些代碼,因爲我試圖改變顏色$(顏色),這是行不通的。下面是完整的代碼:

function test(color) { 

      if (color == 'blue') { 
       $('#name').change(function() { 
      } else { 
       $('#email').change(function() { 
      } 

      }); 

     } 

     test("green"); 
+5

使用'color =='blue'',爲什麼要創建jQuery對象? – Satpal

+0

人們在使用jq之前需要學習一些基本的js .. – MJB

+1

當顏色是藍色時你想要什麼?因爲'$('#name')。change(function(){'是錯誤的 –

回答

1

你並不需要使用美元色彩變量。
所以,你的代碼將是:

function test(color) { 
    var id; 
    (color === 'blue') ? (id = '#name') : (id = '#email'); 
    $(id).change(function() { 
    /* your code */ 
    }); 
} 

test("green"); 
+0

謝謝,這很好。 – sascha

3

沒有用的$
也沒有必要的JavaScript變量

function test(color) { 
     if (color== 'blue') { 
      // DO SOMETHING 
     } else { 
      // DO SOMETHING 
     } 
} 
test("green"); 
1

更改之前,使用$

if ($(color) == 'blue') { 

到:

if (color == 'blue') { 

顏色是變量不是一個對象。

0

$主要是在javascript中用於jQuery的別名(短名稱)。我想,你來自Shell Script世界,你必須使用$前綴來訪問變量的值。但在JavaScript中, 只是使用變量名。

的Javascript

var name = 'kumar'; 
alert(name) 

shell腳本

name=kumar 
echo $name 
0

你可以使用regulare表達這種輕鬆的工作:

function test(color) { 
    if (/blue/.test(color)) { 
     // DO SOMETHING 
    } else { 
     // DO SOMETHING 
    } 

} 測試( 「綠色」);