PDA

View Full Version : Creating a Table in Javascript



pcinfoman
11-24-2013, 06:54 PM
I am trying to create a table in JavaScript that contains a list of degrees, radians, sin, cos, and tan.

I have the math right, but I am having trouble with the creating the table.

It is not displaying. I know it is something simple, but I am missing it.

Ideas?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!-- Lab 3 (New): Trig Functions on the Fly -->
<html><head><title>Computer Science 553 Lab Pages: Lab 3: Trig Functions On The Fly</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>Table of Sines, Cosines, and Tangents</h1>
<h2>Charles P. Scott | 9092</h2>
<hr>

<script type="taxt/javaScript">
// Setting Up Variables
var myTable = document.createElement("table");
var tRowH = document.createElement('tr');
var tCellH_Radians = document.createElement('th');
var tCellH_Degrees = document.createElement('th');
var tCellH_SinX = document.createElement('th');
var tCellH_CosX = document.createElement('th');
var tCellH_TanX = document.createElement('th');
var angleR = 0;
var angleD = 0;

// Building the Table
document.appendChild(myTable); // <table>

// Creating the Header Row
myTable.appendChild(tRowH); // <th>

// Building the Cells in the Header Row
tRowH.appendChild(tCellH_Radians);
tRowH.appendChild(tCellH_Degrees);
tRowH.appendChild(tCellH_SinX);
tRowH.appendChild(tCellH_CosX);
tRowH.appendChild(tCellH_TanX);

// Populate the Cells in the Header Row
tCellH_Radians.appendChild(document.createTextNode('Radians'));
tCellH_Degrees.appendChild(document.createTextNode('Degrees'));
tCellH_SinX.appendChild(document.createTextNode('sin(x)'));
tCellH_CosX.appendChild(document.createTextNode('cos(x)'));
tCellH_TanX.appendChild(document.createTextNode('tan(x)'));

for ( var i = 0; i < 25; i++ ) { // Loop to Build the Interior Table Cells

// Setting Up Variables
var tRowC = document.createElement('tr');
var tCell_Radians = document.createElement('td');
var tCell_Degrees = document.createElement('td');
var angleRImg = document.createElement('img');
angleRImg.setAttribute('src', 'images/img' + angleD + '.gif');
var tCell_SinX = document.createElement('td');
var result_SinX = Math.round(Math.sin(angleR)*100000)/100000;
var tCell_CosX = document.createElement('td');
var result_CosX = Math.round(Math.cos(angleR)*100000)/100000;
var tCell_TanX = document.createElement('td');

// Building the Loop Row
myTable.appendChild(tRowC); // <tr>
if ((i+1)%2==0){
tRowC.setAttribute('class','alt'); // Sets up the Alternate Row Color
}

// Building the Table Cells
tRowC.appendChild(tCell_Radians);
tRowC.appendChild(tCell_Degrees);
tRowC.appendChild(tCell_SinX);
tRowC.appendChild(tCell_CosX);
tRowC.appendChild(tCell_TanX);

// Populating the Cells
tCell_Radians.appendChild(angleRImg);
tCell_Degrees.appendChild(document.createTextNode(angleD + ""));
tCell_SinX.appendChild(document.createTextNode(result_SinX));
tCell_CosX.appendChild(document.createTextNode(resultCosX));
if ((angleD === 90) || (angleD === 270)){ // Setting Angles 90 and 270 to "Undefined"
var resultTanX = "Undefined";
}
else {
var resultTanX = Math.round(Math.tan(angleR)*100000)/100000;
}
tCell_TanX.appendChild(document.createTextNode(resultTanX));

// Incrementing the Angles
angleR += Math.PI/12; // The Same as 15 Degrees
angleD += 15;
}
</script>

<br /><br />
<a href="javascript:history.go(-1)">[ Go Back ]</a>
</body></html>

traq
11-24-2013, 06:58 PM
Are you using a console to debug (e.g., FireBug or Chrome's Dev Tools)?
Uncaught HierarchyRequestError: A Node was inserted somewhere it doesn't belong.

It refers to this line:
document.appendChild(myTable);

You should be appending to the body, not the document:
document.body.appendChild( myTable );