2012-05-01 4 views
1

JavaScript로 페이지의 첫 번째 링크를 인쇄하고 싶습니다. 나는 다음과 같은 코드를 사용하는 경우, 그것은 작동하지 않습니다문서의 첫 번째 링크를 인쇄하십시오.

<html> 
    <head><title></title></head> 
    <body> 
     <a id="mylink" href="http://google.com">Google</a><br /> 
     <script>    
      a=$('mylink').href; 
      document.write(document.links[0]);     
     </script> 
    </body> 
</html> 

가 그럼 난 코드에서 주석 "a=$('mylink').href"갑자기 일을, 왜? varble a은 어떻게 다음 진술에 영향을 미칩니 까?

답변을 보내 주시면 감사하겠습니다.

답변

2

이 몇 가지 가능성이있다 :

  1. $이 정의되지 않은 객체 및 $ 개체가 전달 된 문자열로 무엇을 해야할지하지 않습니다
  2. 실행하여 2 차 문을 방지 자바 스크립트 오류가 발생하고 오류
  3. $의 반환 값에 href 속성이없는 값 (즉, undefined을 반환)이 발생하여 JavaScript 오류가 발생합니다.
+0

오, 저는 $ 기호보다는 변수 a에 더 관심이있었습니다. $이 문제의 원인입니다. 슬레어 감사합니다! – fall

0

나는 당신이 무엇을하려고하는지 혼란 스럽지만 js에 전체 링크를 쓸 수는 없습니까? 예 :

<script> 
<!-- 
document.write('<a href="http://google.com">Google</a>'); 
--> 
</script> 
<noscript> 
<a href="http://google.com">Google</a> 
</noscript> 

스크립트의 주석 태그를 무시하고 javacript를 지원하지 않는 브라우저가 문서를 인쇄하지 않도록 단지 거기에 있습니다. <noscript>은 자바 스크립트를 지원하지 않는 브라우저이므로 대체 콘텐츠가 있습니다.

+0

나는 JavaScript 교과서에서 예제를 시험해보고이 예제를 보았다. 그러나 당신의 접근 방식은 확실히 실용적입니다. – fall

+1

Netscape 2 또는 IE <3를 지원하지 않는 한 자바 스크립트를 주석으로 묶을 필요가 없습니다. –

+0

좋은 점 –

0

a=$('mylink').href이 실행되지 않고 다음 코드의 실행이 중단되어 작동하지 않습니다. 코드 document.write(document.links[0])이 정확합니다. 이전의 잘못된 회선없이 호출하면 작동합니다.

첫 번째 줄에서는 jQuery 라이브러리를 사용하려고한다고 생각합니다. 당신이 그것을하고 싶은 경우에, 당신은 <script> 태그를 사용하여 jQuery 라이브러리를 포함해야, 다음 코드를 사용합니다

코드 때문에 귀하의 예제에서 $ 개체가 존재하지 않는 작동하지 않으며 오류가 발생합니다
document.write($('a:first').attr("href")); 
+0

: 첫 번째 선택기가 훌륭하게 작동합니다. – fall

+0

첫 번째 링크가 아닌 첫 번째 A 요소를 선택합니다. 그것들은 같은 것일 수도 있지만 첫 번째 A는 앵커 (목표) 일 수 있습니다. – RobG

1

. jQuery ($ object)와 같은 JavaScript 프레임 워크를 사용하려했으나 포함하지 않은 것 같습니다.

시도는 다음 스크립트 태그 추가 : 당신이 jQuery를 사용하고자하는 경우

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

을, 당신은 또한 .attr ("으로 attrname") 함수를 통해 속성에 액세스해야합니다. 예 : 당신이 jQuery를 사용하기를 원한다면

var a = $('#mylink').attr('href'); 

는 다시, 당신은 ID가 "내 링크"를 가진 요소를 찾고 있다고 지정 "#mylink"에서 "내 링크"에서 선택을 변경해야합니다.

+0

#mylink는 문제없이 작동합니다. – fall

0

그냥 jQuery 물건을 제거하면됩니다.

document.write(document.links[0].href) 

하고 완료 : 당신이 이미 발견 한 것처럼 문서의 첫 번째 링크의 herf 값을 인쇄 할 경우 있도록하는 document.links 모음이 있습니다.

관련 문제