我遇到了jQuery任务的问题:我试图在滚动链接时显示“«'符号。问题是:一次只能链接一个链接,但所有这些链接都会显示“«”。
以下是代码:
$(".list td a").hover(
function() { $(".laquo").show(); },
function() { $(".laquo").hide(); }
);
所以,正如我所理解的,在翻过'.list td'中的'a'元素后,我的班级'。'应该显示。这工作得很好。但是我怎么告诉jQuery一次只针对一个'a'?
我尝试过类似问题的解决方案:
function() { $(".laquo", this).show(); },
但它不起作用 - “«”根本没有显示。我做错了什么?
使用HTML进行编辑:
<div class="list">
<table>
<tr>
<td class="left">1.</td>
<td>
<a href="index.html">Circles</a>
<span class="laquo" style="display:none;"> «</span>
</td>
</tr>
</table>
</div>
正如你所看到的,'。''不是'a'的孩子。我该如何选择呢?
Aaaand,我明白了:D。只需要删除'a',所以我选择'td'。感谢大家的帮助!
答案 0 :(得分:1)
当.laquo
是a
的孩子时,请使用当前的a
作为上下文:
$(".laquo",this).show();
如果没有,我们需要查看相关元素的HTML。
答案 1 :(得分:1)
假设.laquo
元素是链接元素的子元素:
$(".list td a").hover(function(){
$(this).find('.laquo').toggle();
});
答案 2 :(得分:0)
您的代码基本上是正确的,所以我假设您刚刚在代码中搞砸了一些您没有向我们展示过的内容。
悬停代码示例
$(".list td a").hover(function(){
$(".laquo", this).show();
}, function(){
$(".laquo", this).hide();
});
Link to JS Fiddle of it working
但理想情况下,此任务不应该在Javascript中完成,因为使用:hover psuedo-selector在纯CSS中实现它很容易。