2017-03-17 5 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

첫 번째 경고 (해시)를 받았을 때 실제로 무엇을 보십니까 –

답변

4

window.location.hash#abc하지 abc를 반환합니다 그래서, 이것으로 코드 ::

var hash = window.location.hash; 

이하로 교체합니다. ::

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

FULL 코드는

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

그것은 작동합니다 :: 될 것입니다.

+0

내가 실수를 한 덕분에 대체 : –

+0

@DanishMalik 도움이 되었다면 답을 upvote하고 다른 사람들을 돕는 것에 동의하십시오. –

+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"입니다 ... 시도

0

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.*/ 
 

 
    }

는 현재 URL이 의지 할 수 http://www.example.com/yourfile.htm#abc

var hash = window.location.hash; // hash = #abc 
if(hash === '#abc'){ 
    //You are in now 
    $('.tab').removeClass('is-active'); 
} 

희망이라고 가정합니다.