我有动态导航,需要在新窗口中打开一个链接。
因此我使用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/然后点击教育下的全球健康课程链接。
我希望有一些帮助让它正常工作。
感谢。
答案 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');
});
如果您可以在链接中添加一个类以将其标识为在新窗口链接中打开,那会好得多。