私は 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 ループはタグにテキストがあるかどうかを確認します。存在する場合は、次の兄弟を取得します。しかし、次の兄弟は何ですか?タグ内には、テキストであるノードが 1 つだけあります。そこに何かあるのだろうか?ここに while ループがあるのはなぜですか? なぜ if ステートメントだけではないのでしょうか?
アプリケーションのデモ: http://www.headfirstlabs.com/books/hfajax/ch07/woggle-puzzle.html# アプリケーション ファイル: http://www.headfirstlabs.com/books/hfajax/ch07/
あらゆるご意見をお待ちしております。