JavaScript: Create a function to update the content of a specific cell of a table
JavaScript DOM: Exercise-6 with Solution
Write a JavaScript function that accepts a row, column (to identify a particular cell) and a string to update the cell's contents.
Sample HTML file:
<!DOCTYPE html>
<html><head>
<meta charset=utf-8 />
<title>Change the content of a cell</title>
</head><body>
<table id="myTable" border="1">
<tr><td>Row1 cell1</td>
<td>Row1 cell2</td></tr>
<tr><td>Row2 cell1</td>
<td>Row2 cell2</td></tr>
<tr><td>Row3 cell1</td>
<td>Row3 cell2</td></tr>
</table><form>
<input type="button" onclick="changeContent()" value="Change content">
</form></body></html>
Sample Solution:
HTML Code:
<!-- Declaration of HTML document type -->
<!DOCTYPE html>
<!-- Start of HTML document -->
<html>
<!-- Start of head section -->
<head>
<!-- Declaring character encoding -->
<meta charset=utf-8 />
<!-- Setting title of the document -->
<title>Change the content of a cell</title>
<!-- Internal CSS styling -->
<style type="text/css">
/* Styling body to have margin of 30px */
body {margin: 30px;}
</style>
<!-- End of head section -->
</head>
<!-- Start of body section -->
<body>
<!-- Table element with id 'myTable' and border attribute -->
<table id="myTable" border="1">
<!-- First row of the table -->
<tr><td>Row1 cell1</td>
<td>Row1 cell2</td></tr>
<!-- Second row of the table -->
<tr><td>Row2 cell1</td>
<td>Row2 cell2</td></tr>
<!-- Third row of the table -->
<tr><td>Row3 cell1</td>
<td>Row3 cell2</td></tr>
</table>
<!-- Form element containing a button triggering the changeContent function on click -->
<form>
<input type="button" onclick="changeContent()" value="Change content">
</form>
<!-- End of body section -->
</body>
<!-- End of HTML document -->
</html>
JavaScript Code:
// Function declaration for changeContent
function changeContent()
{
// Prompting the user to input the row number
rn = window.prompt("Input the Row number(0,1,2)", "0");
// Prompting the user to input the column number
cn = window.prompt("Input the Column number(0,1)","0");
// Prompting the user to input the cell content
content = window.prompt("Input the Cell content");
// Getting reference to the cells in the specified row of the table
var x=document.getElementById('myTable').rows[parseInt(rn,10)].cells;
// Setting the inner HTML content of the specified cell
x[parseInt(cn,10)].innerHTML=content;
}
Output:
Flowchart:
Live Demo:
See the Pen javascript-dom-exercise-6 by w3resource (@w3resource) on CodePen.
Improve this sample solution and post your code through Disqus.
Previous: Write a JavaScript function to add rows to a table.
Next: Write a JavaScript function that creates a table, accept row, column numbers from the user, and input row-column number as content (e.g. Row-0 Column-0) of a cell.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/javascript-exercises/javascript-dom-exercise-6.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics