我的HTML格式为:
<ul>
<li class="tile">
<span class="hidden"></span>
<span class="hidden"></span>
</li>
<li class="tile">
<span class="hidden"></span>
<span class="hidden"></span>
</li>
</ul>
如果li
上有tile
课程,我需要第一个span
课程hidden
来删除该课程。当鼠标移开时,需要再次隐藏该跨度。到目前为止,我有这个:
$(".tile").hover(function () {
$(this + ":first-child").removeClass("hidden");
}, function () {
$(this + ":first-child").addClass("hidden");
});
然而,这使得所有li
与班级tile
一起行动,而不仅仅是那个徘徊的行动。第二个函数将hidden
类赋给标题中的样式表引用!
我做错了什么?我以为我正确使用了this
。
答案 0 :(得分:2)
不要尝试将this
与其他选择器连接起来,因为它不会像您认为的那样。
改为使用.find()
:
$(".tile").hover(function () {
$(this).find(":first-child").removeClass("hidden");
}, function () {
$(this).find(":first-child").addClass("hidden");
});
答案 1 :(得分:1)
您的悬停功能应为:
$(".tile").hover(function () {
$(this).find("span").first().removeClass("hidden");
}, function () {
$(this).find("span").first().addClass("hidden");
});