2014-01-21 14 views
1

我試圖使用location.pathname.indexOf在我的網站上的某些頁面上製作條件jQuery。Location.pathname.indexOf不能與'或'(||)

這工作:

if (location.pathname.indexOf("/example/5820.htm") != 0){} 

這工作:

if (location.pathname.indexOf("/example-1/3569.htm") != 0) {} 

這不起作用:

if (location.pathname.indexOf("/example/5820.htm") != 0 || location.pathname.indexOf("/example-1/3569.htm") != 0) {} 

我做這個一噸的時候,由於某種原因此代碼不起作用。我想知道如果我在代碼中丟失了一些東西,或者如果它是其他東西?

回答

4

基本上你說這句話:

var a = 0; 
var b = 1; 
if (a != 0 || b != 0) {}; 

等於

if (!(a == 0 && b == 0)) {}; 

但是,你真正想要的:

if (!(a == 0 || b == 0)) {}; 

等於:

if (a != 0 && b != 0) {}; 
+0

啊,當然。我的邏輯關閉了。我知道這很基本,謝謝你的快速回答。我會在10分鐘內接受它。謝謝! – MillerMedia

4

蒂姆已經回答了這個問題,但不要忘了:

.indexOf()將返回-1時,未找到字符串,不是0

if (location.pathname.indexOf("/example/5820.htm") != 0){} 

應該是:

if (location.pathname.indexOf("/example/5820.htm") != -1){} 

或者:

if (location.pathname.indexOf("/example/5820.htm") >= 0){} 

http://www.w3schools.com/jsref/jsref_indexof.asp