pzozulka
asked on
jQuery getElementsByTagName not working
I'm doing an assignment for a class, where it says I need to modify jquery.altrow.js to create a plugin that uses the getElementsByTagName method to get all of an element’s “tr” child elements. They provide the following HTML and JavaScript:
I am getting an error in Chrome's F12 tools console:
Uncaught TypeError: this.getElementsByTagName is not a function
I tried using the jQuery find method instead which works fine, but the question here is to use getElementsByTagName instead.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Alternating Row Plugin</title>
<link rel="stylesheet" href="altrow.css">
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="jquery.altrow.js"></script>
<script src="altrow.js"></script>
</head>
<body>
<main>
<h1>Important People in Computer Science</h1>
<table id="important">
<tr>
<th>First Name</th><th>Last Name</th><th>Date of Birth</th><th>Accomplishment</th>
</tr>
<tr>
<td>Charles</td><td>Babbage</td><td>12/26/1791</td>
<td>Originated the concept of a programmable computer, invented the first mechanical computer.</td>
</tr>
<tr>
<td>Ada</td><td>Lovelace</td><td>12/10/1815</td>
<td>First computer programmer. Wrote an algorithm for Babbage's mechanical computer.</td>
</tr>
<tr>
<td>Alan</td><td>Turing</td><td>6/23/1912</td>
<td>Invented the Turing Machine, a hypothetical device that's a model of a general purpose computer.</td>
</tr>
<tr>
<td>Grace</td><td>Hopper</td><td>12/9/1906</td>
<td>Invented the first compiler for a computer programming language, popularized the term "debugging" for fixing computer glitches.</td>
</tr>
</table>
</main>
</body>
</html>
altrow.js"use strict";
window.onload = function() {
$( document ).ready(function() {
$("#important").highlightRows();
});
};
jquery.altrow.js"use strict";
(function($){
$.fn.highlightRows = function() {
var testItems = this.getElementsByTagName("tr");
};
})(jQuery);
I am getting an error in Chrome's F12 tools console:
Uncaught TypeError: this.getElementsByTagName is not a function
I tried using the jQuery find method instead which works fine, but the question here is to use getElementsByTagName instead.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.