菜鸟-创作你的创作

javascript:void(0)

javascript:void(0)前端里非常常见但容易被误解的一种写法,下面用一句话 + 场景 + 替代方案给你讲清楚 👇


一句话解释

javascript:void(0) 的作用是:执行 JavaScript,但什么也不返回,页面不会跳转。


拆开来看

void(0)

所以:

<a href="javascript:void(0)">点我</a>

👉 点击后:


常见使用场景

1️⃣ 阻止 a 标签跳转

<a href="javascript:void(0)">按钮</a>


2️⃣ 配合点击事件

<a href="javascript:void(0)" onclick="doSomething()">点击</a>


为什么有人用它?

因为:


⚠️ 不推荐的原因(重点)

❌ 可读性差

href="javascript:void(0)"

❌ 不利于 SEO

❌ 可访问性差


✅ 推荐的现代写法(替代方案)

✅ 1️⃣ 用 button(最推荐)

<button onclick="doSomething()">点击</button>


✅ 2️⃣ 用 a + 阻止默认事件

<a href="#" onclick="event.preventDefault(); doSomething();">点击</a>

或更规范:

<a href="#" id="btn">点击</a>

<script>
document.getElementById("btn").addEventListener("click", function (e) {
  e.preventDefault();
  doSomething();
});
</script>


✅ 3️⃣ href 留真实地址(SEO 友好)

<a href="/action" data-action="doSomething">点击</a>


总结对比

写法是否推荐
javascript:void(0)❌ 不推荐
href="#"⚠️ 需阻止默认
<button>✅ 强烈推荐
JS 事件绑定✅ 推荐

一句话结论

javascript:void(0) 是老写法,能用但不该再用,现代前端应该用 buttonpreventDefault()

如果你是在维护老项目写教程、或者做 SEO 优化,我可以帮你把项目里所有 javascript:void(0) 安全替换掉

退出移动版