2011-06-20 138 views
1

或運算符不起作用。你能幫助如何做到正確嗎?邏輯運算符或問題:jQuery

$('.iconWrapper span').click(function(e) { 
    $('#div1').find('img').attr('src', function(index, src) { 
if(src =='../../photo/roz1.jpg' || '../../photo/roz2.jpg'){ 
     alert ('ohra'); 
     }else{ 
     alert ('lil'); 
} 

}); 
+1

定義「不起作用」。 –

+0

jQuery *不是* javascript –

+0

添加了「JavaScript」標籤,重新格式化了代碼。 –

回答

3
if(src =='../../photo/roz1.jpg' || src == '../../photo/roz2.jpg'){... 
+0

謝謝我現在得到它,我忘記了在兩邊src。它起作用 – Mary

+0

很多人都說自己「如果src等於選項一或選項二」 - 計算機比它更明確地需要它,即「如果src等於選項一或src等於選項二」。有點令人困惑的是,我認爲一個字符串,例如'../../ photo/roz2.jpg''實際上會在JavaScript中評估爲true。我建議你閱讀一些Crockford的東西(參見Tim的回答),關於JavaScript中的'falsey'和'truthy'值 - 以及該人給予的所有其他智慧...... :) –

5

它「不起作用」,因爲這個操作符不存在在JavaScript中(爲什麼你認爲它呢?)

它是||,你必須明確地測試條件:var == val1 || var == val2

var == (val1 || val2)正在做一些不同的事情。

if(src =='../../photo/roz1.jpg' || src == '../../photo/roz2.jpg') 

請參閱MDC - Logial Operators

1

您需要在添加「src ==」之後添加或使用||。爲或。

+0

爲什麼會得到一個downvote? –

+0

主要問題是JS中沒有'或'運算符。 –

+0

@Tim可能是因爲它沒有解決OP的問題,也沒有提到'或'不是JS –