23.04.2013 Views

javascript

javascript

javascript

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 10 ■ SCRIPTING BOM<br />

var elements = domTree.getElementsByTagName("shoe");<br />

var div, ul = createElem("ul", {className: "slide"}), li;<br />

for (var i = 0, j = elements.length; i < j; i ++) {<br />

li = createElem("li", null, [<br />

createElem("a", {href: elements[i].getAttribute("href")}, [<br />

createElem("img", {src: elements[i].getAttribute("src"), alt:<br />

elements[i].getAttribute("alt")})])]);<br />

ul.appendChild(li);<br />

}<br />

div = createElem("div", {className: "scroller", id: "s4"}, [<br />

createElem("div", {className: "wrapper"}, [ul]),<br />

createElem("div", {className: "left arrow sprite"}),<br />

createElem("div", {className: "right arrow sprite"})]);<br />

}<br />

prep();<br />

}<br />

Now the local variable contains the following DOM branch:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

But it’s in memory, invisible to visitors. How would you fix that?<br />

Yep, put the DOM branch on the tree:<br />

function parseSimpleXML(req) {<br />

if (req.status === 200 || req.status === 304) {<br />

var domTree = req.responseXML;<br />

var elements = domTree.getElementsByTagName("shoe");<br />

var div, ul = createElem("ul", {className: "slide"}), li;<br />

for (var i = 0, j = elements.length; i < j; i ++) {<br />

li = createElem("li", null, [<br />

439

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

Saved successfully!

Ooh no, something went wrong!