You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为指定<div>内所有内容设置target="_blank"属性

为指定
内所有链接设置新标签页打开的方案

方法1:JavaScript 精准控制

给目标

加个ID或类,用JS遍历里面的所有<a>标签,逐个添加上target="_blank"属性。比如目标
的ID是target-container,代码如下:

// 选中目标容器内的所有链接
const innerLinks = document.querySelectorAll('#target-container a');
// 遍历给每个链接加属性
innerLinks.forEach(link => {
  link.setAttribute('target', '_blank');
});

要是用类选择器,把#target-container换成.target-class就行,完全不会影响容器外的链接。

方法2:HTML 嵌套方案(限无内部独立链接场景)

如果

里没有单独的<a>标签,只想让整个区块点击后在新标签页打开,可以把
套在一个<a>里,给外层<a>加target="_blank":

<a href="你的目标链接" target="_blank" style="text-decoration: none;">
  <div style="cursor: pointer;">
    <!-- 这里放你的内容,不能嵌套其他<a>标签 -->
    示例内容1
    <p>示例内容2</p>
  </div>
</a>

注意:HTML规范不允许<a>嵌套<a>,所以如果

里本身有多个独立链接,这个方法用不了。

方法3:jQuery 简化写法(已引入jQuery时可用)

如果项目里已经用了jQuery,一行代码就能搞定:

$('#target-container a').attr('target', '_blank');

为啥你之前的尝试没效果?

  • <base target="_blank">是全局生效的,不管放在页面哪个位置,都会影响所有链接,所以外面的example.html也会被改成新标签页打开。
  • <div target="_blank">没用是因为target属性只针对<a>、<form>这类交互元素,<div>不支持这个属性,浏览器会直接忽略。

内容的提问来源于stack exchange,提问作者reeman3000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:20:01