首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将target="_blank“添加到指定div内的链接中?

如何将target="_blank“添加到指定div内的链接中?
EN

Stack Overflow用户
提问于 2009-04-29 21:02:16
回答 6查看 141.5K关注 0票数 66

假设我有以下代码:

<div id="link_other">
    <ul>
        <li><a href="http://www.google.com/">google</a></li>
        <li>
            <div class="some_class">
                dsalkfnm sladkfm
                <a href="http://www.yahoo.com/">yahoo</a>
            </div>
        </li>
    </ul>
</div>

在这种情况下,JavaScript会将target="_blank"添加到link_other中的所有链接。

我如何使用JavaScript做到这一点呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-04-29 21:28:23

/* here are two different ways to do this */
//using jquery:
$(document).ready(function(){
  $('#link_other a').attr('target', '_blank');
});

// not using jquery
window.onload = function(){
  var anchors = document.getElementById('link_other').getElementsByTagName('a');
  for (var i=0; i<anchors.length; i++){
    anchors[i].setAttribute('target', '_blank');
  }
}
// jquery is prettier. :-)

您还可以添加一个title标记来通知用户您正在执行此操作,以警告他们,因为如前所述,这不是用户所期望的:

$('#link_other a').attr('target', '_blank').attr('title','This link will open in a new window.');
票数 146
EN

Stack Overflow用户

发布于 2009-04-29 21:08:38

非jquery:

// Very old browsers
// var linkList = document.getElementById('link_other').getElementsByTagName('a');

// New browsers (IE8+)
var linkList = document.querySelectorAll('#link_other a');

for(var i in linkList){
 linkList[i].setAttribute('target', '_blank');
}
票数 56
EN

Stack Overflow用户

发布于 2009-04-29 21:04:21

使用jQuery:

 $('#link_other a').each(function(){
  $(this).attr('target', '_BLANK');
 });
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/804256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档