Jquery -> plain JS

I use jQuery all time now, never plain JS anymore… but now I need to do something in plain JS… how would I do something like this in plain JS?


	$('h5').each(function(i) {
		$(this).html(ppl.person[i].name);
	});
	$('p').each(function(i) {
		$(this).html('By: ' + ppl.person[i].age);	
	});

thank you…

Something like this should work:


var elems = document.getElementsByTagName("h5");
for (var i in elems) {
    elems[i].innerHtml = ppl.person[i].age;
}
var elems = document.getElementsByTagName("p");
for (var i in elems) {
    elems[i].innerHtml = "By: " + ppl.person[i].age;
}

They are nodelists not objects so you should NOT be using for.in as it will process the length along with the nodes.

var elems = document.getElementsByTagName("h5");
for (var i=elems.length-1; i >=0; i--) {
    elems[i].innerHtml = ppl.person[i].age;
}
elems = document.getElementsByTagName("p");
for (i=elems.length-1; i >=0; i--) {
    elems[i].innerHtml = "By: " + ppl.person[i].age;
}

That way your loop doesn’t try to process elems.length.innerHTML

thank you very much for both responses… I can work w/this…

Right… been a while since I’ve used straight DOM lol. Thanks.