【css】所有的a标签设置为新窗口打开【原创】

由于工作的需要,需要把某个页面下的所有a标签都设置为新开新窗口,即:
<a href="XXX">
增加target:
<a href="XXX" target="_blank">

但是由于这个页面有500多个a标签,并且有的a标签已经有target属性,有的没有,手动一个一个加显然是不可能的

1. 所以一开始通过js来加:

function addTarget(){
    var tag_a = document.getElementsByTagName('a');
    for (var i = tag.length - 1; i >= 0; i--) {
        tag_a[i].setAttribute("target","_blank");
    };
}
window.onload = addTarget();

但不知为何无法生效。

2. 然后就想到可以通过设置css来使默认的a都自带target属性,即:
a {
    target : _blank;
}
发现也行不通。原因是css中没有target属性,不能直接在css中这样写。

3. 最后查资料,发现可以在head标签中加入:
<base target="_blank" />
成功。
在HTML中,`<a>`标签被用于定义超链接,该标签的`target`属性用于指定链接如何打开。如果你想在新窗口或新标签页中打开链接,通常会使用`target="_blank"`属性。但是,有时候`<a>`标签的`target="_blank"`属性可能不会按预期工作,这可能是由以下几个原因导致的: 1. 浏览器安全设置:一些浏览器允许用户配置其安全设置,从而阻止在新窗口打开链接。例如,用户可能在浏览器的设置中禁用了自动弹出窗口。 2. JavaScript干预:如果页面上使用了JavaScript,可能会有脚本修改了超链接的默认行为,导致`target="_blank"`无效。 3. 浏览器兼容性:虽然`target="_blank"`在大多数现代浏览器中都能正常工作,但是某些旧版本的浏览器可能不支持这个属性。 4. CSS影响:有时候开发者可能使用CSS将所有链接样式统一设置,如`a { target: _self; }`,这将覆盖`<a>`标签的`target`属性。 为了确保`<a>`标签新窗口打开链接,可以采取以下措施: - 确保浏览器设置允许弹出窗口。 - 检查并移除或修改可能影响链接行为的JavaScript代码。 - 确保使用的是现代浏览器,以便`target="_blank"`属性能够得到支持。 - 避免使用CSS直接设置`target`属性值。 如果遇到特定问题,可以尝试以下方法来调试和解决: - 使用开发者工具查看网页的JavaScript控制台是否有相关的错误信息。 - 检查页面的CSS样式,确保没有直接或间接地改变了链接的`target`属性。 - 确认代码中是否有其他HTML标签或JavaScript代码影响了`<a>`标签的行为。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值