2010-11-27 2 views
2

때때로 jQuery를 실행하면 HREF 속성에 # 기호가 표시되지만 그 이유는 무엇입니까? 나는 무엇을 의미하는지 이해하지만, 당신이 이것을 가지고 있는지 묻고있다. <a href="#" id="runScript">Run</a>jQuery의 # in href는 얼마입니까?

왜 실제로 href에 #을 넣고 false를 반환하겠습니까? 그냥 공백으로 남겨두고 동일한 결과를 얻을 수 있습니까?

답변

1

href 속성을 비워두면 기본 작업을 중지하는 것과 같은 결과를 얻지 못합니다. 공백 값은 브라우저가 링크가 아닌 북마크 또는 동일한 페이지에 대한 링크로 요소를 렌더링하게하여 값을 변경하지 않고 다시로드 할 수 있습니다.

#은 스크립트가 기본 작업을 억제하지 못할 경우 최소한의 방해가되는 URL입니다. 스크립트가 오류로 끝나면 기본 동작이 실행됩니다.

0

두 가지 변종은 모두 악의입니다. 예를 들어 '새 탭에서 열기'에 실패합니다. 대신 #enoughInfoToLoadThePage을 사용해야합니다. 또는 javascript없이 작동하는 url 일 수도 있습니다.

그리고 Google에서 크롤링 할 수 있도록 this technique을 사용하려고 할 수도 있습니다.

2

브라우저에 자바 스크립트가 없으면 링크를 클릭해도 새 페이지가로드되지 않습니다.

0

href를 ""(공백)으로 남겨두면 동일한 페이지가 다시로드됩니다.

false를 반환하거나 페이지가로드되지 않도록합니다.

+0

false를 반환합니까? #? – benhowdle89

+0

href는 "#"또는 "javascript : return : false"중 하나 일 수 있습니다. 링크를 클릭하면 페이지가 다시로드되지 않습니다. – Sairam

2

빈칸으로두면 일부 버크 브라우저는 <a>을 클릭 할 수있는 링크로 지정합니다. 그게 우리가 필요로하는 유일한 이유 야. #.

더 나은 것은 href과 관련이 있지만 동일한 기능이없는 스크립트에 대한 링크입니다 (예 : <a href="/new" id="load-new-btn">New Items</a>

0

href 속성이 없으면 시각적으로 정상 링크처럼 작동하지 않습니다. 이 example을 참조하십시오.

+0

내가 잘못 생각한 것 같습니다. 왜 전체 href가 아닌지 묻는 것입니다. 속성 – benhowdle89

+0

오, 미안해. 그때 나는 Sairam Kunala의 응답 – Zevan

1

위의 게시물은 클릭 가능한 링크로 표시되지 않습니다. 하지만 대신 다음을 수행 할 수 있습니다.

a{ 
    cursor:pointer; 
} 

+0

과 함께 가겠다. 나를 도왔다. something 그리고 css로 포인터를 준다. – Vivek