Click here to Skip to main content
15,895,799 members
Articles / Web Development / HTML
Article

Hide and Show Any Element

Rate me:
Please Sign up or sign in to vote.
3.47/5 (9 votes)
21 Sep 2008CPOL2 min read 115K   957   22   10
Hide and show any element based on some event

Introduction

If you want to hide and show an element or DIV or SPAN that contains relevant information for a particular item, e.g., when the user clicks on a particular link, you may want to show some details.

It is easy to do this using JavaScript.

If you want to display personal information for each person in the list (it may be a <A> or RADIO or SELECT element), when you generate the HTML, render the personal information section within a SPAN or DIV tag which is hidden by default. If you use SPAN, then make sure whether you want to display the following text on the same line or on the next line.  

ASP.NET
<DIV ID="PersonalInfo1" style="display:none">
<table>
<tr><td>Street</td><td>123 sr</td></tr>
<tr><td>City</td><td>LA</td></tr>
<tr><td>State</td><td>CA</td></tr>
</table>
</DIV>

Now you need to connect this DIV with the actual person. It may be <A> tag or some button or radio button or select tag.

ASP.NET
<A href="#" onclick="show('PersonalInfo1')">Senthil</A> 

or:

ASP.NET
<input type="radio" value="senthil" onclick="show('PersonalInfo1')">senthil

or:

ASP.NET
<SELECT name="select1" onchange="show(this.value)">
<option value=""></option>
<option value="PersonalInfo1">senthil</option>
</select>

or:

ASP.NET
<input type="button" onclick="show('PersonalInfo1')" value="personalInfo">

By default, SPAN is an inline tag meaning it will just follow the flow and shift the position based on left and top properties. In that case, you need to use 'inline' to make it display or set display = ''. If you use DIV, you should use display = "block";

JavaScript
function show(ele) {
       var srcElement = document.getElementById(ele);
       if(srcElement != null) {
     if(srcElement.style.display == "block") {
            srcElement.style.display= 'none';
      }
          else {
                 srcElement.style.display='block';
          }
          return false;
     }
}

When you click on the hyperlink, the browser will show the table. If you click again, the browser will hide it.

Another way is that you can have a common detail area. Then when the user clicks a link or button or selects an item from the drop down, you can display details in  the target.

ASP.NET
<DIV ID= "PersonalInfo"></DIV>

<A href="#" onclick="show('PersonalInfo1','
<table><tr><td>Street</td><td>123 sr</td></tr></table>
')">Senthil</A>

<A href="#" onclick="show('PersonalInfo','
<table><tr><td>Street</td><td>123 sr</td></tr></table>
')">Raj</A>
JavaScript
function show(ele,content) {
    var srcElement = document.getElementById(ele);
    if(srcElement != null) {
     srcElement.innerHTML=content;
    }
}

The above code will replace the inner HTML of the DIV with the new TABLE or:

ASP.NET
<DIV ID= "PersonalInfo"></DIV>

<A href="#" onclick="show('PersonalInfo','PersonalInfo1')">senthil</A>

<DIV id="PersonalInfo1" style="display:none"><table>
<tr><td>Street</td><td>123 sr</td></tr>
<tr><td>City</td><td>LA</td></tr>
<tr><td>State</td><td>CA</td></tr>
</table>
')"></DIV>

<A href="#" onclick="show('PersonalInfo','PersonalInfo2')">Raj</A>

<DIV id="PersonalInfo2" style="display:none">
<table><tr><td>Street</td><td>123 sr</td></tr>
<tr><td>City</td><td>LA</td></tr>
<tr><td>State</td><td>CA</td></tr>
</table>
')"></DIV>
JavaScript
function show(targetElement,contentElement) {
    var tarElement = document.getElementById(targetElement);
    var srcElement = document.getElementById(contentElement);

    if(tarElement != null && srcElement  != null) {
     tarElement.innerHTML=srcElement.innerHTML;
    }
}

In the above code, we define different DIVs for each personal information and connect them with the link by sending the correct DIV ID for the second argument.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
United States United States
Fourteen years of progressive experience in Software Product Development, tactical planning, project and client management, demonstrated success in leadership, critical thinking, problem solving and analysis. Diverse knowledge and experience with multiple development methodologies, reengineering, software engineering, and integration of heterogeneous systems.

Comments and Discussions

 
SuggestionUse javascript:; instead of # Pin
jefferis26-Apr-12 7:41
jefferis26-Apr-12 7:41 
GeneralCODE ERROR in the above script! READ THIS Pin
usbserial18-Sep-08 15:20
usbserial18-Sep-08 15:20 
GeneralRe: CODE ERROR in the above script! READ THIS Pin
senthil karuppaiah21-Sep-08 5:35
senthil karuppaiah21-Sep-08 5:35 
GeneralRe: CODE ERROR in the above script! READ THIS Pin
usbserial21-Sep-08 13:15
usbserial21-Sep-08 13:15 
GeneralNicely Explained Pin
naman28-May-08 1:06
naman28-May-08 1:06 
GeneralPlease help me.. Pin
kalyan dama13-Mar-08 20:38
kalyan dama13-Mar-08 20:38 
GeneralThanks Pin
samad_sami13-Mar-07 22:21
samad_sami13-Mar-07 22:21 
GeneralA few comments (or constructive criticism) Pin
Bjoern Graf19-Aug-06 13:44
Bjoern Graf19-Aug-06 13:44 
GeneralRe: A few comments (or constructive criticism) Pin
senthil karuppaiah19-Aug-06 15:07
senthil karuppaiah19-Aug-06 15:07 
GeneralRe: A few comments (or constructive criticism) Pin
Bjoern Graf19-Aug-06 15:36
Bjoern Graf19-Aug-06 15:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.