我对$(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>
JQUERY
这将在所有 <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。谢谢!
$(".fade", $(this)).append($(" ***"));
- awbergs