我正在阅读 Head First AJAX,当我在第 7 章中遇到一些代码时变得有点困惑。本章构建了一个应用程序,该应用程序随机生成用户用来创建单词的字母板。创建单词后,用户单击提交,然后对该单词进行评分。下面是为单词提交设置事件处理程序的代码:
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 循环查看标签中是否有文本。如果有,它将获得下一个兄弟姐妹。但是,下一个兄弟姐妹是什么?标签内只有一个节点,即文本。那里会有什么吗?为什么这里有一个while循环,为什么它不只是一个if语句?
应用程序演示: http ://www.headfirstlabs.com/books/hfajax/ch07/woggle-puzzle.html# 应用程序文件: http ://www.headfirstlabs.com/books/hfajax/ch07/
任何和所有输入将不胜感激。