为什么location.href不自动跳转?慎用javascript:void(0)
-
<a href="javascript:void(0)" onclick="delete('123')">删除</a>
<script>
function delete(id) {
if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
location.href="/delete.jsp?id=" + id;
}
}
以上代码不管如何检查都没有任何问题,而location.href="/delete.jsp?id=" + id;在别的地方都好使,为什么这段代码就行呢?
原因是那个void(0),把代码改成:
<a href="javascript:delete('123')">删除</a>
<script>
function delete(id) {
if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
location.href="/delete.jsp?id=" + id;
}
}
我们发现,页面立即就跳转了,能正常删除相应的数据。
void是一个操作符,会计算一个表达式,但不会返回值,当然也不会改变当前页面的任何内容,也就不会正常的跳转。