apwnn:
私は、関数内のコードを実行し、クリックイベントを持っています。私が使用する必要があり$(this)
、私は私が何かをクリックしていない、その特定の要素を参照する必要があるため。
使用して、要素の最初の子にアクセスする方法はありますか$(this)
?
これは私のコードです:
$('#songs_box tr td.playtitle').click(function () {
var tr = $(this).parent();
if(tr.hasClass("active")){
if (audio.paused) {
$(this).firstChild.innerHTML = '<i class="fas fa-pause"></i>';
audio.play();
} else {
$(this).firstChild.innerHTML = '<i class="fas fa-play"></i>';
audio.pause();
}
} else {
audio.pause();
initAudio(tr);
audio.play();
}
});
ロリーMcCrossan:
firstChild
そしてinnerHTML
ネイティブJS Elementオブジェクトではなく、何であるjQueryオブジェクトのプロパティです$(this)
作成します。
この使用を修正するchildren().first().html()
代わりに:
$(this).children().first().html('<i class="fas fa-pause"></i>');
代わりにあなただけにクラスを切り替えることができi
、直接:
$(this).find('i').toggleClass('fa-pause fa-play');
いずれにせよ、私はを通じてスキャンを持つことをお勧めしたいjQueryのドキュメントを使用すると、利用可能な方法の理解を得るようにします。それらの大半の機能は、ちょうどその名前から理解することができます。