In this page it is presented a simple JavaScript function (showHide() ) that can be used to show and hide multiple HTML elements. This function receives two arguments:

- idShow - an Array with the IDs of the HTML elements to show.
- idHide - an Array with the IDs of the HTML elements to hide.

Code of the showHide() function

/*
 function to show and hide multiple HTML elements - https://coursesweb.net/javascript/
 idShow - an Array with the IDs of the HTML elements to show
 idHide - an Array with the IDs of the HTML elements to hide
*/
function showHide(idShow, idHide) {
 // gets the number of items to traverse with for()
 var nrshow = idShow.length;
 var nrhide = idHide.length;

 // traverses the idShow array to apply display='block' to each ID
 for(var i=0; i<nrshow; i++) {
 if(document.getElementById(idShow[i])) document.getElementById(idShow[i]).style.display = 'block';
 }

 // traverses the idHide array to apply display='none' to each ID
 for(var i=0; i<nrhide; i++) {
 if(document.getElementById(idHide[i])) document.getElementById(idHide[i]).style.display = 'none';
 }
}

- Here's an example of usage of this function. Text with Read-More button that shows a hidden content, and another button that hides that content and displays again the Read-More button.
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<style>
.divcnt {
 margin: 1em 20%;
 background:#dedeed;
 border: 1px solid #bbbbbb;
}
.scnt {
 display: none;
 position: relative;
 background: #ededfe;
 padding: 1em 2px 2px 2px;
}
.closesc {
 position: absolute;
 top: 1px;
 right: .3em;
 font-weight: 800;
 color: #ed0001;
 cursor: pointer;
}
.readmc {
 text-decoration: underline;;
 font-weight: 800;
 color: #ed0001;
 cursor: pointer;
}
</style>
</head>
<body>
<h4>Example Show / Hide HTML elements with JavaScript</h4>

<div class='divcnt'>
 Some text, then ... <span id='rc1' class='readmc'>Read-More</span>
 <div class='scnt' id='sc1'>
 <div class='closesc' id='cl1'>X</div>
 The rest of the content, images, media, etc. ...
 </div> 
</div>

<div class='divcnt'>
 Beginning introductory text ... <span id='rc2' class='readmc'>Read-More</span>
 <div class='scnt' id='sc2'>
 <div class='closesc' id='cl2'>X</div>
 The complete content<br/>
HTML tags, links, tables, etc. ...
 </div> 
</div>

<script>
/*
 function to show and hide multiple HTML elements - https://coursesweb.net/javascript
 idShow - an Array with the IDs of the HTML elements to show
 idHide - an Array with the IDs of the HTML elements to hide
*/
function showHide(idShow, idHide) {
 // gets the number of items to traverse with for()
 var nrshow = idShow.length;
 var nrhide = idHide.length;

 // traverses the idShow array to apply display='block' to each ID
 for(var i=0; i<nrshow; i++) {
 if(document.getElementById(idShow[i])) document.getElementById(idShow[i]).style.display = 'block';
 }

 // traverses the idHide array to apply display='none' to each ID
 for(var i=0; i<nrhide; i++) {
 if(document.getElementById(idHide[i])) document.getElementById(idHide[i]).style.display = 'none';
 }
}

// Registers onclick to Read-More and X buttons
if(document.getElementById('rc1')) document.getElementById('rc1').onclick = function(){ showHide(['sc1'], [this.id]); };
if(document.getElementById('rc2')) document.getElementById('rc2').onclick = function(){ showHide(['sc2'], [this.id]); };
if(document.getElementById('cl1')) document.getElementById('cl1').onclick = function(){ showHide(['rc1'], [this.parentNode.id]); };
if(document.getElementById('cl2')) document.getElementById('cl2').onclick = function(){ showHide(['rc2'], [this.parentNode.id]); };
</script>
</body>
</html>
Demo:
Some text, then ... Read-More
X
The rest of the content, images, media, etc. ...
Beginning introductory text ... Read-More
X
The complete content
HTML tags, links, tables, etc. ...

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which attribute indicates that an input field must be filled out before submitting?
required="required" autofocus="autofocus" placeholder="text"
<input type="text" name="name1" required="required" />
Which CSS method increases or decreases the size of the HTML element (including its content)?
translate() scale() skew()
#some_id:hover {
  transform: scale(2, 1.5);
  -ms-transform: scale(2, 1.5);    /* IE 9 */
  -moz-transform: scale(2, 1.5);   /* Firefox */
}
Click on the Date object method that returns the day of the month.
setDate() getMonth() getDate()
var rightnow = new Date();
var day = rightnow.getDate();
alert(day);
Which function is used to upload a file on server?
is_file() move_uploaded_file() fopen()
if(move_uploaded_file($_FILES["field_name"]["tmp_name"], "dir/file_name")) {
  echo "The file succesfully uploaded";
}
Show and Hide HTML elements

Last accessed pages

  1. Wake Up! (3403)
  2. Ajax-PHP Chat Script (37775)
  3. PHP-MySQL Scripts (3924)
  4. Create simple Website with PHP (20532)
  5. Select in MySQL, Output results in HTML Table (5636)

Popular pages this month

  1. Insert, Select and Update NULL value in MySQL (415)
  2. Read Excel file data in PHP - PhpExcelReader (331)
  3. PhpSpreadsheet - Read, Write Excel and LibreOffice Calc files (257)
  4. PHP getElementById and getElementsByTagName (208)
  5. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (199)