2011-09-30 54 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> 

(複製上一次編輯這個錯誤代碼是我現在使用的代碼。這是在頁面加載時間通過調用一堆其他的加載時間的事情一個JavaScript執行。)

我擁有所有其他代碼,並且繼續無法正常工作。

但是,這段代碼仍然在同一窗口中打開第二個鏈接。誰能幫忙?

+0

HEJ在這個例子中的鏈接之前,您要執行的代碼。這是真正的應用程序的情況嗎? – megakorre

+0

你有沒有試過在$(document).ready(function(。。你的東西))中包裝你的腳本;? – orolo

回答

1

變化eq(2)eq(1),因爲從指數0eq()開始,並且確保您更改屬性後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開始,所以你要尋找的元素與1所

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

看的指標在這裏以供參考http://api.jquery.com/eq/

這是基於你的代碼工作的例子。 http://jsfiddle.net/3wz9a/2/

相關問題