2011-09-30 4 views
-2

Jquery를 사용하여 새 페이지에서 링크를 열려고합니다.Jquery를 사용하여 페이지의 두 번째 링크 열기

<html> 
<head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("a:eq(0)").attr("target","_blank"); 
}); 
</script> 
</head> 
<body> 
<h1>Welcome to My Homepage</h1> 
<p class="intro">My name is Donald</p> 
<a href="http://google.com">I live in Duckburg</a> 
<p>My best friend is Mickey</p> 
Who is your favourite: 
<ul id="choose"> 
<li>Goofy</li> 
<li>Mickey</li> 
<li>Pluto</li> 
</ul> 
</body> 
</html> 

(이 마지막 편집에서 복사 잘못된 코드이 다른로드 시간 것들의 무리를 호출하는 자바 스크립트를 통해 페이지로드 시간에 실행됩니다. 내가 지금 사용하고있는 코드입니다.)

나는 다른 모든 코드를 제 위치에두고 있으며, 이것은 계속 제대로 작동하지 않습니다.

하지만이 코드는 여전히 같은 창에서 두 번째 링크를 엽니 다. 누구든지 도와 줄 수 있습니까?

+0

HEJ 준비 후 당신이 속성을 변경하기 때문입니다. 실제 앱의 경우입니까? – megakorre

+0

$ (document) .ready (function (.your stuff))에서 스크립트를 래핑 해 보았습니까? – orolo

답변

1

변경 eq(2), eq() 인덱스 0에서 시작되고도는 DOM을 사용하면 링크하기 전에 코드를 실행하는이 예에서는

<html> 
<script> 
$(function(){ $("a:eq(1)").attr("target", "_blank"); }); 
</script> 
<body> 
<a href="http://cnn.com">CNN</a><br /> 
<a href="http://google.com">Google</a> 
</body> 
</html> 
+0

Downvoter, 당신의 투표를 설명해 주겠니? 내 대답을 향상시킬 수 있겠 니? – genesis

+0

나는 팬텀 downvoter가있다라고 생각한다. 우리 모두에게 그것을 끝내었다 : | –

+0

@TimBJames : 아, 그건 의미가있다 :// – genesis

1

이후에 까지 대기하고 수정하기 전에 링크가 실제로 있으며 0이 아닌 1부터 계산을 시작하십시오.

(안된)

<html> 
<body> 
<a href="http://cnn.com">CNN</a><br /> 
<a href="http://google.com">Google</a> 
<script> 
$("a:eq(1)").attr("target", "_blank"); 
</script> 
</body> 
</html> 
+0

필자의 코드를 수정하여 몇 가지 제안을 좀 포함 시켰습니다. – atrljoe

1

eq 참조 가능한 요소들의 어레이. 배열은 0의 인덱스로 시작, 그래서 당신은 참조 여기 http://api.jquery.com/eq/

코드를 기반으로 동작하는 예는 여기를 1

$(function(){ 
    // wait for the DOM to load. 
    $("a").eq(1).attr("target", "_blank"); 
}); 

봐의 인덱스로 요소에 대해보고 싶을 것이다. eq(1)-http://jsfiddle.net/3wz9a/2/

관련 문제