$(this) キーワードの理解と使用に問題があります。たとえば、http://api.jquery.com/hover/の hover クラスの例を使用すると、
HTML
<ul>
<li>Milk</li>
<li>Bread</li>
<li class='fade'>Chips</li>
<li class='fade'>Socks</li>
</ul>
<div class='fade'>My Div<div>
Jクエリ
<li>
これにより、すべての要素に関数が追加されます。
$("li").hover(
function () {
$(this).append($("<span> ***</span>"));
},
function () {
$(this).find("span:last").remove();
}
);
フェードクラスにのみ関数を追加したい場合。この方法でできました
$("li.fade").hover(
function () {
$(this).append($("<span> ***</span>"));
},
function () {
$(this).find("span:last").remove();
}
);
これにより、DIV を含むすべてのフェード クラスが選択されます。
$("li").hover(
function () {
$('.fade').append($("<span> ***</span>"));
},
function () {
$('.fade').find("span:last").remove();
}
);
なぜこれがうまくいかないのですか?
$("li").hover(
function () {
$(".fade", this).append($("<span> ***</span>"));
},
function () {
$(".fade", this).find("span:last").remove();
}
);
jQueryを学ぼうと勉強中です。ありがとう!