<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Random Snippets &#187; Hide</title>
	<atom:link href="http://www.randomsnippets.com/tag/hide/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.randomsnippets.com</link>
	<description>Random Snippets of Code for Web Developers</description>
	<lastBuildDate>Fri, 25 Nov 2011 23:28:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>How to hide, show, or toggle your div with jQuery</title>
		<link>http://www.randomsnippets.com/2011/04/10/how-to-hide-show-or-toggle-your-div-with-jquery/</link>
		<comments>http://www.randomsnippets.com/2011/04/10/how-to-hide-show-or-toggle-your-div-with-jquery/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 04:58:21 +0000</pubDate>
		<dc:creator>Allen Liu</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Hide]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[toggle]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/?p=336</guid>
		<description><![CDATA[Hiding and showing content is MUCH easier with the magic of jQuery. Here is a simple demo of the jQuery .toggle() function. Demo Toggle Button The content in this div will hide and show (toggle) when the toggle is pressed. &#8230; <a href="http://www.randomsnippets.com/2011/04/10/how-to-hide-show-or-toggle-your-div-with-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><br />
<script type="text/javascript">
function toggleDiv(divId) {
   $("#"+divId).toggle();
}
function showonlyone(thechosenone) {
     $('div[name|="newboxes"]').each(function(index) {
          if ($(this).attr("id") == thechosenone) {
               $(this).show(200);
          }
          else {
               $(this).hide(600);
          }
     });
}
function slideonlyone(thechosenone) {
     $('div[name|="newboxes2"]').each(function(index) {
          if ($(this).attr("id") == thechosenone) {
               $(this).slideDown(200);
          }
          else {
               $(this).slideUp(600);
          }
     });
}
function toggleAndChangeText() {
     $('#divToToggle').toggle();
     if ($('#divToToggle').css('display') == 'none') {
          $('#aTag').html('Collapsed text mode &#9658');
     }
     else {
          $('#aTag').html('Expanded text mode &#9660');
     }
}
$(document).ready(function() {
     $('#clickme').click(function() {
          $('#me').animate({
               height: 'toggle'
               }, 2000
          );
     });
});
function toggleByClass(className) {
     $("."+className).toggle();
}
</script></p>
<style type="text/css">
.evenNumber, .oddNumber {
     width: 100px;
     height: 100px;
     margin: 10px;
     padding: 10px;
     float: left;     
     background-color: #333333;
     color: #FFFFFF;
}
</style>
<p>Hiding and showing content is MUCH easier with the magic of <a href="http://jquery.com/">jQuery</a>.  Here is a simple demo of the jQuery <code>.toggle()</code> function.</p>
<fieldset>
<legend>Demo</legend>
<p><a href="javascript:toggleDiv('myContent');" style="background-color: #ccc; padding: 5px 10px;">Toggle Button</a></p>
<div id="myContent" style="background-color: #aaa; padding: 5px 10px;">
The content in this div will hide and show (toggle) when the toggle is pressed.
</div>
</fieldset>
<p>Here is the JavaScript needed to run this demo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js&quot;&gt;&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">function</span> toggleDiv<span style="color: #009900;">&#40;</span>divId<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#&quot;</span><span style="color: #339933;">+</span>divId<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p><span id="more-336"></span><br />
Line 1 simply loads the minimized jQuery v1.4.4 library.  Once that is done, the rest is cake =)  Line 3 defines the <code>toggleDiv</code> JavaScript function which takes one parameter: the id of the div to be toggled.  Line 4 is where all the action takes place.  The <code>$("#"+divId)</code> part is the powerful jQuery selector which selects the div that was passed to the function.  I cannot say how easy<a href="http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery"> jQuery makes it to select elements</a> whether it is by id, class, or even by element types.  Once our div is selected, we simply append jQuery&#8217;s <code>toggle()</code> function which automatically detects whether or not the content hidden and toggles it.  On the HTML code level, the function toggles the <code>display</code> attribute between <code>none</code> and <code>block</code>.</p>
<p>Here is the raw HTML code for the demo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;javascript:toggleDiv('myContent');&quot; style=&quot;background-color: #ccc; padding: 5px 10px;&quot;&gt;Toggle Button&lt;/a&gt;
&lt;div id=&quot;myContent&quot; style=&quot;background-color: #aaa; padding: 5px 10px;&quot;&gt;
The content in this div will hide and show (toggle) when the toggle is pressed. 
&lt;/div&gt;</pre></td></tr></table></div>

<p>The <code>a tag</code> is styled to look like a button and the <code>onclick</code> event uses our <code>toggleDiv</code> which passes the &#8216;myContent&#8217; div ID as the argument.  The rest of the HTML basically codes for our &#8216;myContent&#8217; div whose content will be toggled by a click of the <code>a tag</code>.</p>
<p>That is it!  There is no more need to reinvent the wheel my friends.  </p>
<hr />
<p>Here is a new demo in response to a request where only one div is displayed at any one time.</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
            <a id="myHeader1" href="javascript:showonlyone('newboxes1');" >show this one only</a>
         </div>
<div name="newboxes" id="newboxes1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;">Div #1</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
            <a id="myHeader2" href="javascript:showonlyone('newboxes2');" >show this one only</a>
         </div>
<div name="newboxes" id="newboxes2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #2</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
            <a id="myHeader3" href="javascript:showonlyone('newboxes3');" >show this one only</a>
         </div>
<div name="newboxes" id="newboxes3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #3</div>
</td>
</tr>
</table>
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;&quot;&gt;
            &lt;a id=&quot;myHeader1&quot; href=&quot;javascript:showonlyone('newboxes1');&quot; &gt;show this one only&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;&quot;&gt;Div #1&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;&quot;&gt;
            &lt;a id=&quot;myHeader2&quot; href=&quot;javascript:showonlyone('newboxes2');&quot; &gt;show this one only&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;&quot;&gt;Div #2&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;&quot;&gt;
            &lt;a id=&quot;myHeader3&quot; href=&quot;javascript:showonlyone('newboxes3');&quot; &gt;show this one only&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;&quot;&gt;Div #3&lt;/div&gt;
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;</pre></td></tr></table></div>

<p>The HTML code contains 3 divs to start off with: 2 hidden and 1 displayed.  Each link will launch the <b>showonlyone</b> JavaScript function and pass over the corresponding div ID.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> showonlyone<span style="color: #009900;">&#40;</span>thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div[name|=&quot;newboxes&quot;]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
               $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
          <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
               $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
     <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Line 2 contains some very cool uses of jQuery.  Here we are looping through all divs with the <code>name = "newboxes"</code> which represents all 3 divs.  </p>
<p>Line 3 checks to see if the div id in the current loop is equal to <strong>thechosenone</strong> which is the argument that was passed to the function.  </p>
<p>If the id matches up, we use the <code>.show()</code> jQuery function to display the div.  The argument 200 used in the <code>.show()</code> function will animate the display for a duration of 200 milliseconds.  How cool is that =)  If you leave it blank, the div will appear suddenly. </p>
<p>If the id does not match up, we simply use the <code>.hide()</code> jQuery function to hide the div.  The argument 600 used in the <code>.hide()</code> function will animate the div so that it looks like it is sliding away.  I used a higher number here so that you can see the difference in speed of the animations.  Again, you can simply leave it blank if you want to make the div suddenly disappear.</p>
<p>That&#8217;s it!</p>
<hr />
<p>Here is another quick example using the jQuery <code>.slideDown()</code> and <code>.slideUp()</code> functions.  </p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader1" href="javascript:slideonlyone('newboxes1');" >slide this one only</a>
         </div>
<div name="newboxes2" id="newboxes1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;">Div #1</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader2" href="javascript:slideonlyone('newboxes2');" >slide this one only</a>
         </div>
<div name="newboxes2" id="newboxes2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #2</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader3" href="javascript:slideonlyone('newboxes3');" >slide this one only</a>
         </div>
<div name="newboxes2" id="newboxes3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #3</div>
</td>
</tr>
</table>
</fieldset>
<p>Everything is the same here except we are calling the <code>.slideDown()</code> and <code>.slideUp()</code> functions instead of the <code>.show()</code> and <code>.hide()</code> functions respectively.  Even the animation duration is kept the same if you pass an argument to the function calls.</p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> slideonlyone<span style="color: #009900;">&#40;</span>thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div[name|=&quot;newboxes2&quot;]'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;id&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
               $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideDown</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
          <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
               $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slideUp</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          <span style="color: #009900;">&#125;</span>
     <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Not much explanation needed here.  Same idea, different functions used.</p>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader1&quot; href=&quot;javascript:slideonlyone('newboxes1');&quot; &gt;slide this one only&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes2&quot; id=&quot;newboxes1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;&quot;&gt;Div #1&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader2&quot; href=&quot;javascript:slideonlyone('newboxes2');&quot; &gt;slide this one only&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes2&quot; id=&quot;newboxes2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #2&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader3&quot; href=&quot;javascript:slideonlyone('newboxes3');&quot; &gt;slide this one only&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes2&quot; id=&quot;newboxes3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #3&lt;/div&gt;
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;</pre></td></tr></table></div>

<p>Same thing here except we are calling the new <code>slideonlyone()</code> function that we just defined.</p>
<hr />
Here is a demo for changing text in the link according to the display status of the div:</p>
<fieldset>
<legend>Demo &#8211; Toggle link text and toggling div</legend>
<p><a id="aTag" href="javascript:toggleAndChangeText();">Expanded text mode &#9660;</a></p>
<div id="divToToggle">Div content that will be shown or hidden.</div>
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;a id=&quot;aTag&quot; href=&quot;javascript:toggleAndChangeText();&quot;&gt;
   Expanded text mode &amp;#9660;
&lt;/a&gt;
&lt;div id=&quot;divToToggle&quot;&gt;
   Content that will be shown or hidden.&lt;strong&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>Here we have an a tag that has the text that we want to toggle as well as the div content.  Whenever the link text is clicked, it fires off the <strong>toggleAndChangeText()</strong> JavaScript function.  </p>
<p>Here is the JavaScript code for the toggleAndChangeText() function:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggleAndChangeText<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#divToToggle'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#divToToggle'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#aTag'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Collapsed text mode &amp;#9658'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
     <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#aTag'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Expanded text mode &amp;#9660'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Whenever the <strong>toggleAndChangeText()</strong> is fired off, it will first toggle the div with our nice jQuery <strong>toggle()</strong> function in line 2.  Then it will test if the div content is hidden (or if the <strong>display</strong> attribute is set to <strong>none</strong>) in line 3.  If so, it will change the link to &#8220;Collapsed text mode &#9658&#8243;.  Otherwise, the link text will be changed to &#8220;Expanded text mode &#9660&#8243; in line 7.</p>
<hr />
<p>Next up is a pretty cool demo where we use the <code>.animate()</code> jQuery function to help toggle just about any element.  In this case, we&#8217;ll use an image of yours truly :)  </p>
<fieldset>
<legend>Demo</legend>
<div id="clickme" style="background-color: #333333; color: #FFFFFF; padding: 10px; width: 200px; cursor:pointer;">
  Click here to toggle me in and out =)
</div>
<p><img id="me" src="http://www.randomsnippets.com/wp-content/uploads/2011/04/2.png" alt="It&#039;s me....ah!!!" title="Allen Liu" width="100" height="77" class="alignnone size-full wp-image-552" style="border: none;" /><br />
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;clickme&quot; style=&quot;background-color: #333333; color: #FFFFFF; padding: 10px; width: 200px; cursor:pointer;&quot;&gt;
  Click here to toggle me in and out =)
&lt;/div&gt;
&lt;img id=&quot;me&quot; src=&quot;http://www.randomsnippets.com/wp-content/uploads/2011/04/2.png&quot; alt=&quot;It&amp;#039;s me....ah!!!&quot; title=&quot;Allen Liu&quot; width=&quot;100&quot; height=&quot;77&quot; class=&quot;alignnone size-full wp-image-552&quot; style=&quot;border: none;&quot; /&gt;</pre></div></div>

<p>I have to apologize for all the <a href="http://www.tizag.com/cssT/inline.php">inline CSS</a>.  This is the easiest way for me to get these demos across without having to separate the styling (which is usually best practice).  I am trying to do good here so I hope the <code>HTML Gods</code> will spare me this one time.</p>
<p>Anyway, the HTML is quite simple.  It is just a div with some text inside and a silly image.  Notice there is no JavaScript event attached to our div just yet.  This is where our jQuery code comes in and saves the day!</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#clickme'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#me'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
               height<span style="color: #339933;">:</span> <span style="color: #3366CC;">'toggle'</span>
               <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">2000</span>
          <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>In line 1, we tell jQuery to wait until the DOM (Document Object Model) is fully loaded or when our page is fully rendered.  We do this because we want to add functionality to our &#8220;click me&#8221; div.  If the &#8220;click me&#8221; div has not yet loaded and this JavaScript executes, there is no element to work on.  Game over.  </p>
<p>Instead, we tell jQuery to wait until our &#8220;click me&#8221; div is in place, and then add a click event to it (line 2).</p>
<p>Lines 3-6 defines our click event by animating the <code>$('#me')</code> element which in this case is the image.  If you are not used to jQuery syntax, <code>$('#me')</code> uses <a href="http://api.jquery.com/category/selectors/">jQuery&#8217;s all-powerful selector</a> to help us select the element with <code>id = me</code>.  </p>
<p>Once we have our element selected, we apply the <code>animate</code> function to add animation to this element&#8217;s CSS properties.  We first begin with line 4 which toggles the height of the element and preserves the height:width ratio which gives it a shrinking effect.  We use toggle here so that you can keep pressing the button to toggle in and out.  You can of course use <code>show</code> or <code>hide</code> just like in the previous demos. </p>
<p>Line 5 just indicates how long the duration of our animation will last in milliseconds.  In this demo, it is 2000 milliseconds which translates to 2 seconds (I was in AP math in high school).</p>
<hr />
Here is a demo that toggles multiples elements by the class attribute.</p>
<fieldset>
<legend>Demo</legend>
<p><button onclick="toggleByClass('oddNumber');">Toggle odd numbers only</button><br />
<button onclick="toggleByClass('evenNumber');">Toggle even numbers only</button></p>
<div class="oddNumber">1</div>
<div class="evenNumber">2</div>
<div class="oddNumber">3</div>
<div class="evenNumber">4</div>
<div class="oddNumber">5</div>
<div class="evenNumber">6</div>
</fieldset>
<p>Here is the HTML code along with the CSS:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;style type=&quot;text/css&quot;&gt;
.evenNumber, .oddNumber {
     width: 100px;
     height: 100px;
     margin: 10px;
     padding: 10px;
     float: left;     
     background-color: #333333;
     color: #FFFFFF;
}
&lt;/style&gt;
&lt;button onclick=&quot;toggleByClass('oddNumber');&quot;&gt;Toggle odd numbers only&lt;/button&gt;
&lt;button onclick=&quot;toggleByClass('evenNumber');&quot;&gt;Toggle even numbers only&lt;/button&gt;
&lt;div class=&quot;oddNumber&quot;&gt;1&lt;/div&gt;
&lt;div class=&quot;evenNumber&quot;&gt;2&lt;/div&gt;
&lt;div class=&quot;oddNumber&quot;&gt;3&lt;/div&gt;
&lt;div class=&quot;evenNumber&quot;&gt;4&lt;/div&gt;
&lt;div class=&quot;oddNumber&quot;&gt;5&lt;/div&gt;
&lt;div class=&quot;evenNumber&quot;&gt;6&lt;/div&gt;</pre></td></tr></table></div>

<p>Lines 1-11 covers the styling of the divs so they are presentable.</p>
<p>Lines 12-13 codes for 2 buttons that toggles the odd number divs and even number divs respectively by calling the <code>toggleByClass</code> function and passing the respective class names.</p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggleByClass<span style="color: #009900;">&#40;</span>className<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.&quot;</span><span style="color: #339933;">+</span>className<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Simple and sweet but a lot is going on here.  Let&#8217;s dissect line 2 and cover each component separately.  </p>
<p><code>$("."+className)</code> uses the <a href="http://api.jquery.com/class-selector/" title="jQuery class selector" target="_blank">jQuery class selector</a> with the <code>className</code> variable representing the class of the element(s) you want to select.  In our demo, we use the <code>oddNumber</code> and <code>evenNumber</code> class names to select for their respective divs.</p>
<p>Once the divs are selected, we tack on the <code>.toggle()</code> jQuery function to hide and show the elements. </p>
<p>Here is a tutorial that shows <a href="http://www.randomsnippets.com/2011/10/09/how-to-hide-or-show-content-based-on-links-or-urls-via-javascript-jquery/">how to hide or show content based on links on different pages</a>.</p>
<p>That is it for yet another demo =)</p>
<p>If there any other demos/tutorials that you would like to see on this subject, please feel free to comment below and I will try my best to implement it.</p>
<p><strong>Note:</strong> If you have an issue with your code, please give me a URL to work with.  It&#8217;s extremely difficult for me to help if I cannot actually see the code.</p>
<p>If you found that my code was helpful in any way, shape, or form and would like to buy me a <strong>beer</strong>, please use the <strong>Donate</strong> button below =)  Cheers!<br />
<center></p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="WB5GF5WQ6YE5U">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p></center></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2011/04/10/how-to-hide-show-or-toggle-your-div-with-jquery/feed/</wfw:commentRss>
		<slash:comments>186</slash:comments>
		</item>
		<item>
		<title>How to hide, show, or toggle your div</title>
		<link>http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/</link>
		<comments>http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 06:45:00 +0000</pubDate>
		<dc:creator>Allen Liu</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[collapse]]></category>
		<category><![CDATA[demo show]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[Hide]]></category>
		<category><![CDATA[html javascript]]></category>
		<category><![CDATA[javascript code]]></category>
		<category><![CDATA[javascript function]]></category>
		<category><![CDATA[javascript functions]]></category>

		<guid isPermaLink="false">http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/</guid>
		<description><![CDATA[Are you trying to find a way to hide and show your content? The demo below shows a simple yet elegant way of toggling your content and toggling the control text via Javascript and styling. Demo Let's use images! click &#8230; <a href="http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Are you trying to find a way to hide and show your content?  The demo below shows a simple yet elegant way of toggling your content and toggling the control text via Javascript and styling.</p>
<p><script language="javascript"> 
function toggle() {
	var ele = document.getElementById("toggleText");
	var text = document.getElementById("displayText");
	if(ele.style.display == "block") {
    		ele.style.display = "none";
		text.innerHTML = "show";
  	}
	else {
		ele.style.display = "block";
		text.innerHTML = "hide";
	}
} 
function toggle2(showHideDiv, switchTextDiv) {
	var ele = document.getElementById(showHideDiv);
	var text = document.getElementById(switchTextDiv);
	if(ele.style.display == "block") {
    		ele.style.display = "none";
		text.innerHTML = "restore";
  	}
	else {
		ele.style.display = "block";
		text.innerHTML = "collapse";
	}
} 
function toggle3(contentDiv, controlDiv) {
        if (contentDiv.constructor == Array) {
                for(i=0; i < contentDiv.length; i++) {
                     toggle2(contentDiv[i], controlDiv[i]);
                }
        }
        else {
               toggle2(contentDiv, controlDiv);
        }
} 
var counter = 0;
var numBoxes = 3;
function toggle4(showHideDiv) {
	var ele = document.getElementById(showHideDiv + counter);
	if(ele.style.display == "block") {
    		ele.style.display = "none";
  	}
	else {
		ele.style.display = "block";
       }
       if(counter == numBoxes) {
                document.getElementById("toggleButton").style.display = "none";
       }
} 
function showonlyone(thechosenone) {
      var newboxes = document.getElementsByTagName("div");
            for(var x=0; x<newboxes.length; x++) {
                  name = newboxes[x].getAttribute("name");
                  if (name == 'newboxes') {
                        if (newboxes[x].id == thechosenone) {
                        newboxes[x].style.display = 'block';
                  }
                  else {
                        newboxes[x].style.display = 'none';
                  }
            }
      }
}
function showonlyonev2(thechosenone) {
      var newboxes = document.getElementsByTagName("div");
      for(var x=0; x<newboxes.length; x++) {
            name = newboxes[x].getAttribute("name");
            if (name == 'newboxes-2') {
                  if (newboxes[x].id == thechosenone) {
                        if (newboxes[x].style.display == 'block') {
                              newboxes[x].style.display = 'none';
                        }
                        else {
                              newboxes[x].style.display = 'block';
                        }
                  }else {
                        newboxes[x].style.display = 'none';
                  }
            }
      }
}
</script></p>
<style type="text/css">
#headerDivImg, #contentDivImg, #contentDivImg_ {
     float: left;
     width: 510px;
}
#titleTextImg {
     float: left;
     font-size: 1.2em;
     font-weight: bold;
     margin: 5px;
}
#imageDivLink {
     float: right;
}
#headerDivImg {
     background-color: #0037DB;
     color: #9EB6FF;
}
#contentDivImg, #contentDivImg_ {
     background-color: #FFE694;
     text-align: center;
}
#headerDivImg img {
     float: right;
     margin: 10px 10px 5px 5px;
}
</style>
<p><script src="/wp-includes/js/showhidediv.js" language="Javascript" type="text/javascript"></script></p>
<fieldset>
<legend>Demo</legend>
<div id="headerDivImg">
<div id="titleTextImg">Let's use images!  click image to expand/collapse==></div>
<p>    <a id="imageDivLink" href="javascript:toggle5('contentDivImg', 'imageDivLink');"><img src="/wp-includes/images/minus.png"></a>
</div>
<div id="contentDivImg" style="display: block;">This demo uses plus and minus images for hiding and showing your div dynamically via JavaScript. This content will toggle.</div>
</fieldset>
<p>We will cover how to implement this example later on in the tutorial but first let's start with a simple example.</p>
<fieldset>
<legend>Demo</legend>
<p><a id="displayText" href="javascript:toggle();" >show</a> <== click here</p>
<div id="toggleText" style="display:none">
<h1>peek-a-boo</h1>
</div>
</fieldset>
<p><span id="more-5"></span></p>
<p>Here is the sample HTML and Javascript code:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span> 
<span style="color: #003366; font-weight: bold;">function</span> toggle<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;toggleText&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;displayText&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;</span>
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;show&quot;</span><span style="color: #339933;">;</span>
  	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span>
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;hide&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
&lt;a id=&quot;displayText&quot; href=&quot;javascript:toggle();&quot;&gt;show&lt;/a&gt; &lt;== click Here
&lt;div id=&quot;toggleText&quot; style=&quot;display: none&quot;&gt;&lt;h1&gt;peek-a-boo&lt;/h1&gt;&lt;/div&gt;</pre></div></div>

<p>By default, the <code>peek-a-boo</code> text is loaded when the page loads but the <code>display</code> attribute for the div that the content resides in is set to <code>none</code> so it is not visible to the visitor.  When the link is clicked, the <code>toggle()</code> JavaScript functions executes and checks the value of the display style for the div that contains the content that we want to toggle.</p>
<p><b>If the display style is <code>none</code></b>, the function will:</p>
<ul>
<li>Set the display style to <code>block</code> - This is executed in the <code>else</code> block of the function.  The inner HTML content of a DOM element with a <code>block</code> display setting will be visible unless it is furthered controlled by CSS styling.</li>
<li>Change the link text to <code>hide</code> - The inner HTML of the link text, which in this case is just <code>show</code>, is replaced with the <code>hide</code> text.</li>
</ul>
<p><b>If the display style is <code>block</code></b>, the function will:</p>
<ul>
<li>Set the display style to <code>none</code> - This is executed in the <code>if</code> block of the function.  The inner HTML content of a DOM element with the <code>none</code> display setting will not be visible for the viewer.</li>
<li>Change the link text to <code>show</code> - The inner HTML of the link text, which in this case is just <code>hide</code>, is replaced with the <code>show</code> text.</li>
</ul>
<hr />
<p>Here is a more reusable and flexible <code>toggle</code> function that takes 2 parameters: one for the div to hide/show and a second parameter for the div that contains the link text to be switched.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span> 
<span style="color: #003366; font-weight: bold;">function</span> toggle<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #339933;">,</span> switchTextDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>switchTextDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;</span>
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;show&quot;</span><span style="color: #339933;">;</span>
  	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span>
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;hide&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<style type="text/css">
#headerDiv, #contentDiv {
     float: left;
     width: 510px;
}
#titleText {
     float: left;
     font-size: 1.1em;
     font-weight: bold;
     margin: 5px;
}
#myHeader {
     font-size: 1.1em;
     font-weight: bold;
     margin: 5px;
}
#headerDiv {
     background-color: #0037DB;
     color: #9EB6FF;
}
#contentDiv {
     background-color: #FFE694;
}
#myContent {
     margin: 0px 10px;
}
#headerDiv a {
     float: right;
}
#headerDiv a:hover {
     color: #FFFFFF;
}
</style>
<p>If you spice up this demo with some extra CSS styling, this can look like a nice little dialog box.</p>
<fieldset>
<legend>Demo</legend>
<div id="headerDiv">
<div id="titleText">Hide/Show Div Demo - Click here ==></div>
<p><a id="myHeader" href="javascript:toggle2('myContent','myHeader');" >collapse</a>
   </div>
<div style="clear:both;"></div>
<div id="contentDiv">
<div id="myContent" style="display: block;">
<p>This example demonstrates how CSS styling can make this look like a window that you can <b>collapse</b> and <b>restore</b>.  How cool is that?!</p>
<p>Here is what the CSS styling looks like:</p>
<p><code><br />
#headerDiv, #contentDiv {<br />
     float: left;<br />
     width: 510px;<br />
}<br />
#titleText {<br />
     float: left;<br />
     font-size: 1.1em;<br />
     font-weight: bold;<br />
     margin: 5px;<br />
}<br />
#myHeader {<br />
     font-size: 1.1em;<br />
     font-weight: bold;<br />
     margin: 5px;<br />
}<br />
#headerDiv {<br />
     background-color: #0037DB;<br />
     color: #9EB6FF;<br />
}<br />
#contentDiv {<br />
     background-color: #FFE694;<br />
}<br />
#myContent {<br />
     margin: 5px 10px;<br />
}<br />
#headerDiv a {<br />
     float: right;<br />
     margin: 10px 10px 5px 5px;<br />
}<br />
#headerDiv a:hover {<br />
     color: #FFFFFF;<br />
}<br />
</code></p>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;headerDiv&quot;&gt;
     &lt;div id=&quot;titleText&quot;&gt;Hide/Show Div Demo - Click here ==&gt;&lt;/div&gt;&lt;a id=&quot;myHeader&quot; href=&quot;javascript:toggle2('myContent','myHeader');&quot; &gt;collapse&lt;/a&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;contentDiv&quot;&gt;
     &lt;div id=&quot;myContent&quot; style=&quot;display: block;&quot;&gt;This is the content that is dynamically being collapsed.&lt;/div&gt;
&lt;/div&gt;</pre></div></div>

<p>That's all there is to it! =)
</p></div>
</div>
</fieldset>
<p>Here is the <strong>toogle2</strong> JavaScript function:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggle2<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #339933;">,</span> switchTextDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>switchTextDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;</span>
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;restore&quot;</span><span style="color: #339933;">;</span>
  	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span>
		text.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;collapse&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<hr />
<p>As requested, here is an example of a JavaScript function that toggles multiple elements simultaneously.  You can either toggle each DIV individually or use the button to toggle all 3 regardless of which toggle mode they are in.</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
            <a id="myHeader1" href="javascript:toggle2('myContent1','myHeader1');" >collapse</a>
         </div>
<div id="myContent1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;">Div #1</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
            <a id="myHeader2" href="javascript:toggle2('myContent2','myHeader2');" >collapse</a>
         </div>
<div id="myContent2" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;">Div #2</div
      </td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
            <a id="myHeader3" href="javascript:toggle2('myContent3', 'myHeader3');" >collapse</a>
         </div>
<div id="myContent3" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;">Div #3</div
      </td>
</tr>
</table>
<input type="button" value="Press me to toggle all 3 DIVs" onClick="toggle3(['myContent1', 'myContent2', 'myContent3'], ['myHeader1', 'myHeader2', 'myHeader3']);">
</fieldset>
<p>This demo uses the <b>toggle2</b> function as previously demonstrated and a new function called <b>toggle3</b>.  I apologize for not being very creative on the function names.  Anyway, here is the JavaScript code for <b>toggle3</b>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggle3<span style="color: #009900;">&#40;</span>contentDiv<span style="color: #339933;">,</span> controlDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>contentDiv.<span style="color: #660066;">constructor</span> <span style="color: #339933;">==</span> Array<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> contentDiv.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                     toggle2<span style="color: #009900;">&#40;</span>contentDiv<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> controlDiv<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
               toggle2<span style="color: #009900;">&#40;</span>contentDiv<span style="color: #339933;">,</span> controlDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Line 2 of the function checks to see if the first argument is an array or not.  If it is an array, it will also assume that the second argument is an array as well.  If it is an array, the script will loop through each element and execute <b>toggle2</b> with each pair of elements in the arrays.  Please note that this function also assumes that both arrays are in the same order such that <b>contentDiv[3]</b> and <b>controlDiv[3]</b> are a pair that refer to the same toggle element. </p>
<p>If the first argument is not an array, we will just pass the arguments as is to <b>toggle2</b>.</p>
<p>Here is the HTML code for the demo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;&quot;&gt;
            &lt;a id=&quot;myHeader1&quot; href=&quot;javascript:toggle2('myContent1','myHeader1');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div id=&quot;myContent1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;&quot;&gt;Div #1&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;&quot;&gt;
            &lt;a id=&quot;myHeader2&quot; href=&quot;javascript:toggle2('myContent2','myHeader2');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div id=&quot;myContent2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;&quot;&gt;Div #2&lt;/div
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;&quot;&gt;
            &lt;a id=&quot;myHeader3&quot; href=&quot;javascript:toggle2('myContent3', 'myHeader3');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div id=&quot;myContent3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;&quot;&gt;Div #3&lt;/div
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;
&lt;input type=&quot;button&quot; value=&quot;Press me to toggle all 3 DIVs&quot; onClick=&quot;toggle3(['myContent1', 'myContent2', 'myContent3'], ['myHeader1', 'myHeader2', 'myHeader3']);&quot;&gt;</pre></td></tr></table></div>

<p>All the excitement is jammed into line 23 where we call the <b>toggle3</b> function and pass over 2 arrays: one array containing all the content div ids and another array containing the header div ids.  The rest is history =)</p>
<hr />
<p>This demo was written in response to a request.  We start off with some hidden divs and each click of the button will reveal one div at a time.  When we have revealed all the divs, the button will disappear.</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td style="width: 150px;">
<div id="box1" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">First</div>
</td>
<td style="width: 150px;">
<div id="box2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Second</div
      </td>
<td style="width: 150px;">
<div id="box3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Third</div
      </td>
</tr>
</table>
<input id="toggleButton" type="button" value="Show me the money!" onclick="counter++; toggle4('box');">
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td style=&quot;width: 150px;&quot;&gt;
         &lt;div id=&quot;box1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;First&lt;/div&gt;
      &lt;/td&gt;
      &lt;td style=&quot;width: 150px;&quot;&gt;
         &lt;div id=&quot;box2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Second&lt;/div
      &lt;/td&gt;
      &lt;td style=&quot;width: 150px;&quot;&gt;
         &lt;div id=&quot;box3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Third&lt;/div
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;
&lt;input id=&quot;toggleButton&quot; type=&quot;button&quot; value=&quot;Show me the money!&quot; onclick=&quot;counter++; toggle4('box');&quot;&gt;</pre></td></tr></table></div>

<p>The HTML code contains 3 hidden divs to start off with.  The button will launch the <b>toggle4</b> JavaScript function and pass over the prefix of the div IDs.  Each div id is named with the prefix <b>box</b> and a number following the name.  For example, <b>box1</b>, <b>box2</b>, and <b>box3</b>.  This is important for our JavaScript function.  In addition, it increments the <b>counter</b> by 1 each time.  This variable is initialized in our function.  </p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> counter <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> numBoxes <span style="color: #339933;">=</span> <span style="color: #CC0000;">3</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">function</span> toggle4<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv <span style="color: #339933;">+</span> counter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
       <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
              ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
       <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
              ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
       <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>counter <span style="color: #339933;">==</span> numBoxes<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;toggleButton&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;</span>
       <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Lines 1 and 2 will initialize two very important variables for us:</p>
<ol>
<li><b>counter</b> - This variable will help us determine which box we will need to toggle.</li>
<li><b>numBoxes</b> - This variable represents the total number of boxes.  This is important for us to know when we should hide the button.</li>
</ol>
<p>Line 4 accesses the div we will need to toggle based on the name that is passed over as the argument and the counter.  When these 2 values are concatenated, we get the name of the div we will need to toggle.  </p>
<p>Lines 5-10 tells the same old story as before for toggling the content.</p>
<p>Lines 11-13 tests to see if we have reached our maximum number of divs to toggle.  If so, it will access the toggle button and set the <b>display</b> attribute to <b>none</b>.</p>
<hr />
<p>By popular demand, here is a demo that uses <b>images</b> instead of the Expand/Collapse text.</p>
<fieldset>
<legend>Demo</legend>
<div id="headerDivImg">
<div id="titleTextImg">Let's use images!</div>
<p>    <a id="imageDivLink_" href="javascript:toggle5('contentDivImg_', 'imageDivLink_');"><img src="/wp-includes/images/minus.png"></a>
</div>
<div id="contentDivImg_" style="display: block;">This demo uses plus and minus images for hiding and showing your div dynamically via JavaScript.</div>
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;headerDivImg&quot;&gt;
    &lt;div id=&quot;titleTextImg&quot;&gt;Let's use images!&lt;/div&gt;
    &lt;a id=&quot;imageDivLink&quot; href=&quot;javascript:toggle5('contentDivImg', 'imageDivLink');&quot;&gt;&lt;img src=&quot;/wp-includes/images/minus.png&quot;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div id=&quot;contentDivImg&quot; style=&quot;display: block;&quot;&gt;This demo uses plus and minus images for hiding and showing your div dynamically via JavaScript.&lt;/div&gt;</pre></td></tr></table></div>

<p>Everything is pretty much the same as before except the image tag is used instead of the Expand/Collapse text.</p>
<p>Here is the JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> toggle5<span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #339933;">,</span> switchImgTag<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003366; font-weight: bold;">var</span> ele <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>showHideDiv<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003366; font-weight: bold;">var</span> imageEle <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>switchImgTag<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;</span>
		imageEle.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;img src=&quot;/wp-includes/images/plus.png&quot;&gt;'</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                ele.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span>
                imageEle.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;img src=&quot;/wp-includes/images/minus.png&quot;&gt;'</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The <b>toggle5</b> JavaScript function is pretty much the same as the rest of the toggle functions except that it switches the <b>img</b> tags instead of text.</p>
<hr />
<p>Here is a new demo in response to a request where only one div is displayed at any one time.</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader1" href="javascript:showonlyone('newboxes1');" >collapse</a>
         </div>
<div name="newboxes" id="newboxes1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;">Div #1</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader2" href="javascript:showonlyone('newboxes2');" >collapse</a>
         </div>
<div name="newboxes" id="newboxes2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #2</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader3" href="javascript:showonlyone('newboxes3');" >collapse</a>
         </div>
<div name="newboxes" id="newboxes3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #3</div>
</td>
</tr>
</table>
</fieldset>
<p>Here is the plain HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader1&quot; href=&quot;javascript:showonlyone('newboxes1');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes1&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;&quot;&gt;Div #1&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader2&quot; href=&quot;javascript:showonlyone('newboxes2');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #2&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader3&quot; href=&quot;javascript:showonlyone('newboxes3');&quot; &gt;collapse&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes&quot; id=&quot;newboxes3&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #3&lt;/div&gt;
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;</pre></td></tr></table></div>

<p>Clicking on the links will execute the <b>showonlyone</b> JavaScript function and pass on the name of the div id.</p>
<p>Here is the <b>showonlyone</b> JavaScript code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> showonlyone<span style="color: #009900;">&#40;</span>thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003366; font-weight: bold;">var</span> newboxes <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> x<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> x<span style="color: #339933;">&lt;</span>newboxes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                  <span style="color: #000066;">name</span> <span style="color: #339933;">=</span> newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'newboxes'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">id</span> <span style="color: #339933;">==</span> thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'block'</span><span style="color: #339933;">;</span>
                  <span style="color: #009900;">&#125;</span>
                  <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                        newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'none'</span><span style="color: #339933;">;</span>
                  <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Thanks to Justin and Ulysses for helping out with the IE6 bug that was there =)</p>
<p>Line 2 will find all our divs with the <b>newboxes</b> name attribute and place them in an array.  Lines 3-10 will loop through these divs and check to see if the id of the div matches the id that was passed over to the function.  If there is a match, the function will set the display attribute to <b>block</b> which will make the div and all its contents visible.  If the id does not match, the display attribute will be set to none which will make the div and all its contents hidden.</p>
<hr />
<p>Here is a new demo in response to a request where only one div is displayed at any one time but also have the link to be able to hide the div as well (or basically toggle).</p>
<fieldset>
<legend>Demo</legend>
<table>
<tr>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader1-2" href="javascript:showonlyonev2('newboxes1-2');" >toggle</a>
         </div>
<div name="newboxes-2" id="newboxes1-2" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;">Div #1</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader2-2" href="javascript:showonlyonev2('newboxes2-2');" >toggle</a>
         </div>
<div name="newboxes-2" id="newboxes2-2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #2</div>
</td>
<td>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px;">
            <a id="myHeader3-2" href="javascript:showonlyonev2('newboxes3-2');" >toggle</a>
         </div>
<div name="newboxes-2" id="newboxes3-2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;">Div #3</div>
</td>
</tr>
</table>
</fieldset>
<p>Here is the HTML code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;table&gt;
   &lt;tr&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader1-2&quot; href=&quot;javascript:showonlyonev2('newboxes1-2');&quot; &gt;toggle&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes-2&quot; id=&quot;newboxes1-2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px;&quot;&gt;Div #1&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader2-2&quot; href=&quot;javascript:showonlyonev2('newboxes2-2');&quot; &gt;toggle&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes-2&quot; id=&quot;newboxes2-2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #2&lt;/div&gt;
      &lt;/td&gt;
      &lt;td&gt;
         &lt;div style=&quot;border: 1px solid blue; background-color: #99CCFF; padding: 5px;&quot;&gt;
            &lt;a id=&quot;myHeader3-2&quot; href=&quot;javascript:showonlyonev2('newboxes3-2');&quot; &gt;toggle&lt;/a&gt;
         &lt;/div&gt;
         &lt;div name=&quot;newboxes-2&quot; id=&quot;newboxes3-2&quot; style=&quot;border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px;&quot;&gt;Div #3&lt;/div&gt;
      &lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;</pre></td></tr></table></div>

<p>Here is the JavaScript function:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> showonlyonev2<span style="color: #009900;">&#40;</span>thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003366; font-weight: bold;">var</span> newboxes <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> x<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> x<span style="color: #339933;">&lt;</span>newboxes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066;">name</span> <span style="color: #339933;">=</span> newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">name</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'newboxes-2'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">id</span> <span style="color: #339933;">==</span> thechosenone<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'block'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                              newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'none'</span><span style="color: #339933;">;</span>
                        <span style="color: #009900;">&#125;</span>
                        <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                              newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'block'</span><span style="color: #339933;">;</span>
                        <span style="color: #009900;">&#125;</span>
                  <span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                        newboxes<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'none'</span><span style="color: #339933;">;</span>
                  <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This is very similar to the <code>showonlyone()</code> function except now we are toggling the content.</p>
<p>Here is a tutorial that shows <a href="http://www.randomsnippets.com/2011/10/09/how-to-hide-or-show-content-based-on-links-or-urls-via-javascript-jquery/">how to hide or show content based on links on different pages</a>.</p>
<p>If there any other demos/tutorials that you would like to see on this subject, please feel free to comment below and I will try my best to implement it.</p>
<p><strong>Note:</strong> If you have an issue with your code, please give me a URL to work with.  It's extremely difficult for me to help if I cannot actually see the code.</p>
<p><span style="color: green; font-weight: bold;">UPDATE</span>: Since this post has been pretty popular, I felt is was my duty to update it newer methods that was not available at the time of writing this blog.  Nowadays, it is much easier to use <a href="http://www.randomsnippets.com/2011/04/10/how-to-hide-show-or-toggle-your-div-with-jquery/">jQuery to hide or show content</a>.  </p>
<p>If you found that my code was helpful in any way, shape, or form and would like to buy me a <strong>beer</strong>, please use the <strong>Donate</strong> button below =)  Cheers!  <strong>OR</strong>...you can sign up for a <a href="http://db.tt/aYkS0ZA">free Dropbox account using my referral link</a> =)  If you are not aware of what Dropbox is, it is the most awesomest online backup application there and so much more...all for <strong>free</strong>.</p>
<p><center></p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="WB5GF5WQ6YE5U">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"><br />
</form>
<p></center></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/feed/</wfw:commentRss>
		<slash:comments>401</slash:comments>
		</item>
	</channel>
</rss>

