Home  >  Article  >  Web Front-end  >  What does javascript:void(0) mean and the difference between href=# and href=javascriptvoid(0)_javascript skills

What does javascript:void(0) mean and the difference between href=# and href=javascriptvoid(0)_javascript skills

WBOY
WBOYOriginal
2016-05-16 15:32:251636browse

void is an operator in Javascript, which specifies that an expression is to be evaluated but does not return a value.

void operator usage format is as follows:

1. javascript:void (expression)

2. javascript:void expression

expression is a Javascript standard expression to be evaluated. The parentheses outside the expression are optional, but are a good practice to write.

You can specify a hyperlink using the void operator. The expression will be evaluated but nothing will be loaded into the current document.

Example - Clicking a hyperlink does not jump

1:6b0da6d38e340e6a590cff29d8e276f55db79b134e9f6b82c0b36e0489ee08ed

2:0408054196e655f677973fb4d7c998655db79b134e9f6b82c0b36e0489ee08ed

3:6c83c0caad21deef893bd2b64d8d5a5c5db79b134e9f6b82c0b36e0489ee08ed

4:755146b0f224288ff1f9517809ac46ba5db79b134e9f6b82c0b36e0489ee08ed

After clicking on the link, the page will scroll up to the top of the page. # The default anchor point is #TOP (actual testing found that the scroll bar will scroll to the top). The above four methods only represent a dead link. They all represent a dead link. It will jump and will not return to the top.

Example-Why does location.href not jump automatically?

<a href="javascript:void(0)" onclick="delete('123')">删除</a>
function delete(id){
 if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
  location.href="/delete.jsp&#63;id=" + id;
 }
}

No matter how you check the above code, there is no problem, and location.href="/delete.jsp?id=" id; works well in other places. Why does this code work?

The reason is that void(0) changed the code to:

<a href="javascript:delete('123')">删除</a>function delete(id) {
 if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
  location.href="/delete.jsp&#63;id=" + id;
 }
}

We found that the page jumped immediately and the corresponding data could be deleted normally. Why?

Because void is an operator, it will calculate an expression, but will not return a value. Of course, it will not change any content of the current page, and it will not jump normally.

Description

The

void operator evaluates an expression and returns undefined. This operator is most useful when you want to evaluate an expression but don't want the result to be visible to the rest of the script.

Directly using javascript:void(0) for links (href) may cause some problems in IE, such as causing the gif animation to stop playing, etc. Therefore, the safest way is to use "#". To prevent jumping to the top of the page after clicking the link, the onclick event can return false.

PS: The difference between href=# and href=javascriptvoid(0)

#" contains a location information
The default anchor point is #top, which is the top of the web page
And javascript:void(0) just represents a dead link
This is why sometimes the page is very long and the browsing link is clearly # but it jumps to the top of the page
And javascript:void(0)
This is not the case, so it is best to use void(0)
when calling the script. Or 7ce8961e120a815eeb46b3f04acc755f 414cf55ed2331ac9b67428e512c358bc etc.

Several ways to open links in new windows

1.window.open('url')

2. Use custom functions

<script>   
function openWin(tag,obj)   
{    
obj.target="_blank";    
obj.href = "Web/Substation/Substation.aspx&#63;stationno="+tag;    
obj.click();   
}   
</script> 
<a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a> 
window.location.href="" 

-------------------------------------------------- --------------------------------

If it is a #, it will jump to the top. Several solutions from personal favorites:

1:6b0da6d38e340e6a590cff29d8e276f55db79b134e9f6b82c0b36e0489ee08ed
2:0408054196e655f677973fb4d7c998655db79b134e9f6b82c0b36e0489ee08ed
3:6c83c0caad21deef893bd2b64d8d5a5c5db79b134e9f6b82c0b36e0489ee08ed
4:755146b0f224288ff1f9517809ac46ba5db79b134e9f6b82c0b36e0489ee08ed
5:84c8ecde5320398c03be1686cf845b0554bdf357c58b8a65c66d7c19c8e4d114 (It seems that it cannot be displayed in FF)

-------------------------------------------------- --------------------------------

The above content is what the editor introduces to you what javascript:void(0) means and the difference between href=# and href=javascriptvoid(0). I hope it will be helpful to you.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn