jQuery在新窗口中打开链接无法正常工作

时间:2010-01-19 18:27:34

标签: jquery

我有动态导航,需要在新窗口中打开一个链接。

因此我使用jQuery来帮助,但以下代码似乎不起作用:

<script type="text/javascript">
 $('a[href="http://globalhealth-dev.oit.duke.edu/education/global-health-courses"]').attr("target", "_blank");
</script>

为自己尝试:http://globalhealth-dev.oit.duke.edu/education/然后点击教育下的全球健康课程链接。

我希望有一些帮助让它正常工作。

感谢。

3 个答案:

答案 0 :(得分:2)

脚本的选择部分是错误的,即应该与元素中的href匹配的href。试试这个: $('a[href="/education/global-health-courses"]').attr("target", "_blank");

另请注意,建议不要使用href选择该链接,因为它比仅使用元素中的id然后使用$(“a#myid”)慢。

另外要小心只在文档加载时调用它:

 <script type="text/javascript">
    $(document).ready(function() {
        $('a[href="/education/global-health-courses"]').attr("target", "_blank");    
    });
</script>

答案 1 :(得分:2)

$(function() {
  $('a').attr("target", "_blank");
});

您需要等待DOM准备就绪。放置实际的链接属性似乎不是一个非常可维护/可重用的想法。

答案 2 :(得分:1)

看来你的<a>是这样的:

<a href="/education/global-health-courses">Global Health Courses</a>

如果href被重写(已知在某些浏览器上发生),您可以尝试为“ends with”执行属性匹配 - 此外,您不需要属性周围的引号

// Use the "DOM Ready" event to delay execution until the page is loaded
// $(func) is a shortcut for $(document).ready(func)
$(function() {
  $('a[href$=/education/global-health-courses]').attr('target', '_blank');
});

如果您可以在链接中添加一个类以将其标识为在新窗口链接中打开,那会好得多。