/*
In this example you will still have the adding functionality, just with more rows in the
table. There will be multiple dom traversing examples, and some oops code.
*/
// find elements
var $table = $("#player-table")
var $nameInput = $("#name")
var $numberInput = $("#number")
var $outputText = $("#output-text")
// handle click event for the 'Add' Button
$("button").on("click", function(){
var row = createRow($nameInput.val(), $numberInput.val());
$table.append(row);
});
//Dom traverse blunders 2, selecting all elements as the select does above can apply too //many events
/* $("#add-button").on("click", function(){
var row = createRow($nameInput.val(), $numberInput.val());
$table.append(row);
});
*/
// handle click event for the 'Create alert with name'
$("#output-name-button").on("click", function(){
// get the name input, there are two, so this will grab the first, not the second
var $name = $("#name");
// how to fix by narrowing your dom traversal
// $name = $("#name", $(this).parent())
var length = $name.length; // although there are 2, this will only show 1
var name = $name.val();
alert(`The name is '${name}', and the number of names is '${length}'`);
});
function traverser(){
// 1. Gather all tds, and display count
var $tds = $('td');
appendToTextArea(`1. Total tds '${$tds.length}'`);
// 2. Get the sibling next to the manning-cell
var $manningNumberCell = $("#manning-cell").next('td');
var number = $manningNumberCell.html();
appendToTextArea(`2. Mannings number is '${number}'`);
}
// in order to 'append' text to a text area element, I need to get the text in it,
// and append the new value to the textarea
function appendToTextArea(text){
$outputText.val($outputText.val() +text+ "\n");
}
// dynamically add a row, this could be coming from an api call, or some javascript
function createRow(name,...
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.