我正在阅读Head First AJAX,并在第7章中遇到一些代码时变得有点困惑。该章创建一个应用程序,随机生成用户用来创建单词的字母板。一旦一个单词被创建,用户点击提交,然后单词被评分。下面是设置事件处理程序字提交代码:Javascript事件处理程序和while循环混淆
function initPage() {
randomizeTiles();
var submitDiv = document.getElementById("submit");
while (a.nodeName == "#text") {
a = a.nextSibling;
}
a.onclick = function() {
alert("Please click tiles to add letters and create a word.");
};
}
这里是提交按钮的HTML:
<div id="submit"><a href="#">Submit Word</a></div>
我感到困惑的同时,循环使用,而建立事件处理器。从我得到这个权利,while循环会查看标签中是否有文本。如果有,它会得到下一个兄弟姐妹。然而,下一个兄弟是什么?标签中只有一个节点,即文本。那里会有什么吗?为什么在这里有一个while循环,为什么不仅仅是一个if语句?
应用演示: http://www.headfirstlabs.com/books/hfajax/ch07/woggle-puzzle.html# 应用程序文件: http://www.headfirstlabs.com/books/hfajax/ch07/
任何和所有的投入,将不胜感激。