나는 href = ""속성의 문자열을 읽기 위해 JQuery에서 $(this).attr('href')
을 사용합니다. 내가 링크의 그런 종류가 있습니다JQuery로 href 속성을 읽는 법
<a href="1"></a>
<a href="2"></a>
<a href="3"></a>
파이어 폭스와 크롬이 제대로 나에게 코드를 반환합니다. IE 반환 : http://127.0.0.1/1
어떻게하면됩니까? DOM 요소를 통해
나는 href = ""속성의 문자열을 읽기 위해 JQuery에서 $(this).attr('href')
을 사용합니다. 내가 링크의 그런 종류가 있습니다JQuery로 href 속성을 읽는 법
<a href="1"></a>
<a href="2"></a>
<a href="3"></a>
파이어 폭스와 크롬이 제대로 나에게 코드를 반환합니다. IE 반환 : http://127.0.0.1/1
어떻게하면됩니까? DOM 요소를 통해
네이티브 속성에 액세스 할 때 attr
함수를 사용할 필요가 없습니다. 당신은
기본적으로 (도메인 또는 쿼리 문자열이없는 HREF IE) 경로 이름을 얻기 위해 직접 앵커 요소의 속성을 사용할 수 있습니다 브라우저 사이의 불일치의 비트가있다 this.pathname
(일부 슬래시 선도 표시됩니다 pathname
및 기타는 그렇지 않음). 이 문제를 얻으려면, 단지 잠재적 선두 제거는 슬래시 :
this.pathname.replace(/^\//,'')
동작하는 예제 : 당신이 다른 답변을 선택하더라도 http://jsfiddle.net/jonathon/3ET6p/가
, 난 당신이 개체의 기본 .href
를 사용하는 것이 좋습니다 .
이 점에 특별히주의하십시오. 나는 IE6의 VM을 실행하고 모두 잘있다 :)
시도 : $(this)[0].href;
또는
결과는 여전히 동일하면 $(this)[0].getAttribute("href");
, 당신이 숫자로 시작하지 뭔가를 사용하는 것이 좋습니다.
.
jQuery 객체로 감쌀 필요조차 없습니다. 그냥'this.href'는 작동하고 약간의 처리를 저장합니다 :) –
사실입니다. 설명하는 방법을 모르겠지만 어떻게 든 jQuery 객체에서 DOM 요소를 추출하는 방법을 보여 주려고했습니다. 그리고 ... 어, 결국 jQuery로 DOM 요소를 래핑 한 결과로 돌아 왔습니다. :디 – zvona
어떤 브라우저가 사용되고 있는지 확인하고 싶습니다. IE 인 경우 현재 도메인이 "127.0.0.1"인지 확인하십시오. 그렇지 않다면, @ 솔이 제안한 것을해라.
IE의 어떤 버전을 사용하고 있습니까? 내 것은 IE 7+에서 잘 작동합니다. http://jsfiddle.net/8rdch/ –
당신은 href가 상대 경로입니까? 어쩌면 당신은//',/2','/ 3'에있는 href를 바꿀 수 있습니다. –
인터넷 익스플로러를 사용하고 있습니다. 8.0.76 – Dail