[jQuery] 타겟 링크가 내 주소인지 외부 주소인지 확인하기

페이지 정보

루루아빠 1,916 2018.05.22 07:39

평점

본문

타겟 링크가 내 주소인지 외부 주소인지 확인하기
첫 번째 방법

$('a').filter(function() { return this.hostname !== location.hostname; }).addClass("external");
외부 주소임을 확인하고 타켓 링크에 external 클래스를 추가한다.

$('a').filter(function() { return this.hostname == location.hostname; }).addClass("internal");
내부 주소임을 확인하고 타켓 링크에 internal 클래스를 추가한다.

두 번째 방법

$.expr[':'].external = function(obj) { return (obj.hostname != location.hostname); }; $('a:external').addClass('external');
외부 주소임을 확인하고 타켓 링크에 external 클래스를 추가한다.

$.expr[':'].internal = function(obj) { return (obj.hostname == location.hostname); }; $('a:internal').addClass('internal');
내부 주소임을 확인하고 타켓 링크에 internal 클래스를 추가한다.

세 번째 방법

$('a:not([href^="http://mydomain.com"]):not([href^="#"]):not([href^="/"])').addClass('external');
외부 주소임을 확인하고 타켓 링크에 external 클래스를 추가한다.

$('a:([href^="http://your-website.com"])+([href^="#"])+([href^="/"])').addClass('internal');
내부 주소임을 확인하고 타켓 링크에 internal 클래스를 추가한다.

네 번째 방법

$('a').each(function() {
    var a = new RegExp('/' + window.location.host + '/');
    if (!a.test(this.href)) {
        // 외부 주소일 때
    } else {
        // 내부 주소일 때
    }
});
추천인
  • 추천해 주세요
6
루루아빠 - 회원등급 : 최고관리자 - 포인트 : 1,288,352
레벨 96
경험치 1,383,360

Progress Bar 54%

- 가입일 : 2015-03-04 03:24:54
- 서명 : KNOW YOUR LIMITS BUT NEVER STOP TRYING TO EXCEED THEM !!
- 자기소개 : 루루의 자랑 루루아빠랍니다~~

댓글

첫 번째 댓글을 남겨 주세요