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

如何在嵌套非<a>元素的Next.js <Link>中设置target='_blank'

Next.js中嵌套Button组件时target="_blank"失效问题解决

我需要实现点击按钮时在新浏览器标签页打开指定URL,但在Next.js的<Link>元素内使用<Button>这类非<a>元素时,<a>标签的target="_blank"属性会被忽略,导致URL始终在当前标签页跳转。

当前的无效代码结构:

<Link passHref href={applicationUrl}>
  <Button className={styles.button}>
    <a target="_blank">Apply</a>
  </Button>
</Link>

如果移除中间的<Button>组件,功能就能正常实现,但由于样式需求,我不能轻易移除这个组件:

<Link passHref href={applicationUrl}>
  <a target="_blank">Apply</a>
</Link>

调整<Button>与<a>的嵌套顺序即可解决问题,既保留原有样式,又能实现新标签页跳转,代码如下:

<Link passHref href={applicationUrl}>
   <a target="_blank">
      <Button className={styles.button}>
         Apply
      </Button>
   </a>
</Link>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:20:37