私は現在jQueryを学んでいます。jQueryがJavaScriptのカスタムライブラリであることを私は知っています。
私はJavaScriptのみを使用している本でいくつかの学習例を行っています。さらに学習体験を深めるために、より効率的なものにjQueryを使用しようとしています。
だから、私はこのコードを持っています:
function addLetter(foo) {
$(foo).unbind('click');
var tileLetter = $(foo).attr('class').split(' ');
var letter = tileLetter[2].charAt(1);
if (document.getElementById('currentWord').childNodes.length > 0) {
$('#currentWord p').append(letter);
} else {
var p = document.createElement('p');
var txt = document.createTextNode(letter);
p.appendChild(txt);
$('#currentWord').append(p);
}
}
質問1:
変更document.getElementById('currentWord').childNodes.length
し$('#currentWord').childNodes.length
ても動作しません。jQueryセレクターは、DOM要素を取り戻すという点でJSdocument.getElementByIdと同じものだと思いました。その場合は、.childNodes.length関数を使用できるようにするのが理にかなっています。しかし、それは機能しません。私はそれが同じことではないと思いますか?
質問2:
コードは教科書コードです。そこにあるすべてのjQueryを追加しました。私のjQueryの知識は限られていますが、関数を実行するためのより効率的な方法はありますか?
関数の目的:
この関数は、ap要素を作成し、初めて実行する場合はテキストノードで埋めることになっています。p要素がすでに作成されている場合は、単に文字を追加します。
これは単語生成ゲームなので、文字をクリックすると、「currentWord」divに追加されます。タイルの文字は3番目のcssクラスに埋め込まれているため、属性が分割されます。
ありがとう!