2017-03-17 111 views
0

我正在使用如果條件在jquery和==不適合我也不===。 :( 這裏是我的代碼:?等於(==)和等於(===)不適合我

var hash = window.location.hash; 
var hash = hash.replace('#', ' '); 
    alert(hash); /* Returns abc.*/ 
if(hash === 'abc'){ 
      alert(hash); /* not coming here.*/ 
     $('.tab').removeClass('is-active'); 
    } 

任何幫助 預先感謝

+4

''#abc''不是''abc''。 – zzzzBov

+0

它不工作的方式? – klutt

+0

當你得到第一個'alert(hash)'時你真的看到了什麼 –

回答

4

window.location.hash將返回#abcabc因此,替換下面的代碼::

var hash = window.location.hash; 

與此有關。 ::

var hash = window.location.hash.split('#')[1]; 

將完整代碼::

var hash = window.location.hash.split('#')[1]; 
if(hash === 'abc'){ 
    $('.tab').removeClass('is-active'); 
} 

它會工作。

+0

謝謝我在做錯誤取代:) –

+0

@DanishMalik如果它幫助你,請提出答案並接受它來幫助別人。 –

+0

是的,我做了,但他們沒有讓我在40秒之前做。再次感謝:)你們所有人。 –

0

window.location.hash將返回#abc而不是abc。您也正在刪除#,但用' '而不是''替換它。試着做你的比較是這樣的:

var hash = window.location.hash; 
alert(hash); /* Returns abc.*/ 
if(hash === '#abc'){ 
     alert(hash); /* not coming here.*/ 
    $('.tab').removeClass('is-active'); 
} 
+0

謝謝我在替換中犯了錯誤:) –

0

你用「」(空格)代替#..因此你真的有哈希是一個「ABC」,而不是「ABC」 ......嘗試下面代替

window.location.hash = "abc"; 
 
var hash = window.location.hash; 
 
var hash = hash.replace('#', ''); 
 
    alert(hash); /* Returns abc.*/ 
 
if(hash === 'abc'){ 
 
      alert(hash); /* now comes here*/ 
 
     //$('.tab').removeClass('is-active'); 
 
    }

0

替換 '',而不是用空格 '',它的工作。

var hash = '#abc'; 
 
var hash = hash.replace('#', ''); 
 
    alert(hash); /* Returns abc.*/ 
 
if(hash === 'abc'){ 
 
      alert(hash); /* not coming here.*/ 
 

 
    }