15.02.2013 Views

JavaScript Examples Bible - UserWorks Technologies

JavaScript Examples Bible - UserWorks Technologies

JavaScript Examples Bible - UserWorks Technologies

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 1 ✦ Generic HTML Element Objects (Chapter 15)<br />

Listing 15-3: Collecting Child Nodes<br />

function walkChildNodes(objRef, n) {<br />

var obj<br />

if (objRef) {<br />

if (typeof objRef == “string”) {<br />

obj = document.getElementById(objRef)<br />

} else {<br />

obj = objRef<br />

}<br />

} else {<br />

obj = (document.body.parentElement) ?<br />

document.body.parentElement : document.body.parentNode<br />

}<br />

var output = “”<br />

var indent = “”<br />

var i, group, txt<br />

if (n) {<br />

for (i = 0; i < n; i++) {<br />

indent += “+---”<br />

}<br />

} else {<br />

n = 0<br />

output += “Child Nodes of \n=====================\n”<br />

}<br />

group = obj.childNodes<br />

for (i = 0; i < group.length; i++) {<br />

output += indent<br />

switch (group[i].nodeType) {<br />

case 1:<br />

output += “\n”<br />

break<br />

case 3:<br />

txt = group[i].nodeValue.substr(0,15)<br />

output += “[Text:\”” + txt.replace(/[\r\n]/g,””)<br />

if (group[i].nodeValue.length > 15) {<br />

output += “...”<br />

}<br />

output += “\”]\n”<br />

break<br />

case 8:<br />

output += “[!COMMENT!]\n”<br />

break<br />

default:<br />

output += “[Node Type = “ + group[i].nodeType + “]\n”<br />

}<br />

Continued<br />

9<br />

elementObject.childNodes

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!