2014-12-22 3 views
0

wordpress의 if/else 문에 문제가 있습니다. 아래의 Jquery 코드는이 기사 http://matthewruddy.com/using-jquery-with-wordpress/에 따라 wordpress에서 jquery가 작동하도록하는 마크 업을 포함합니다.Jquery if/else 문이 작동하지 않습니다.

그래서으로 작동합니다 아래의 기능은 다음과 같습니다

이 단어의 블로그를 포함하지 않습니다 - 만약, 나는에 클릭을 시작이 매개 변수의 블로그

이 포함되어 있는지 확인하기 위해 문서 리퍼러를 확인 나두 이 단어 블로그가 포함되어 있지 않습니다 - 만약 동위 원소 필터

, 나는 콘솔 리터를 추가

jQuery(document).ready(function($) { 
    $(window).load(function() { 
     var lastUrl = document.referrer; 
     console.log(lastUrl); 
     if(lastUrl.search("blog")) { 
      console.log('blog'); 
      $(".esg-filterbutton[data-filter='filter-blog']").click(); 
      return false; 
     } else { 
      $(".esg-filterbutton[data-filter='filter-social-media']").click() 
      console.log('not-blog'); 
      $(".eg-post-id-1347").click(); 
      return false; 
     } 
    }); 
}); 

다른 동위 원소 필터를 두 번 클릭을 시작 ogs를 사용하여 함수의 어느 부분이 실패했는지 확인하십시오.

즉,이 페이지로 직접가는 사람은 필터 - 소셜 미디어가 자동으로 클릭되어야합니다. 필터를 통해 블로그 게시물로 이동 한 다음 뒤로를 클릭하거나 뒤로 돌아 가면 블로그 게시물의 리퍼러를 기반으로 블로그 필터가 다시 시작됩니다.

URL에 'blog'라는 단어가 포함되지 않은 경우에도 콘솔 로그와 결과 동작이 if 문에서 나오고 else 문은 사용되지 않습니다. 내가 바라 보는 어떤 아이디어?

너는 www (점) dev (점) stretchexp (점) com/blog/여기에 살고있는 것을 볼 수있다. 자바 스크립트

if(lastUrl.indexOf("blog") > -1) { 

} 

답변

1

jQuery 검색은 첫 번째 발생 위치를 반환합니다.이 값이 0보다 크거나 같은지 확인하십시오.

if(lastUrl.search("blog") >=0) {} 
+0

도움을 주셔서 감사합니다. – IcedQuick

+0

당신을 진심으로 환영합니다. – Khaleel

1

사용 .indexOf()는 일치하는 단어의 첫 번째 문자의 인덱스 것이다. 그래서 여기이 경우에 'lastUrl'이 당신이 찾고있는 단어를 가지고 있지 않다면 -1을 반환합니다.

조건이 -1 일 때 항상 true입니다. 그것은 귀하의 경우에 else 조건이 실행되지 않는 이유입니다.

if(lastUrl.search("blog") > -1){//your code} 
+0

도움 주셔서 감사합니다. – IcedQuick

+0

@IcedQuick 도와 드리겠습니다. –

1

lastUrl.search()에 의해 반환되는 값에

+0

도움 주셔서 감사합니다! – IcedQuick

관련 문제