使用Jquery在页面上打开第二个链接

时间:2011-09-30 15:55:55

标签: jquery window

我正在尝试使用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执行的。)

我已经准备好了所有其他代码,但这仍然无法正常运行。

但是这段代码仍会在同一个窗口中打开第二个链接。有人可以帮忙吗?

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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/

答案 2 :(得分:1)

eq(2)更改为eq(1),因为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>