0

我对 jQuery 任务有疑问:我试图在滚动链接时显示“«”符号。问题是:一次只能“翻转”一个链接,但所有链接都显示“«”。

这是代码:

$(".list td a").hover(
  function() { $(".laquo").show(); },
  function() { $(".laquo").hide(); }
);

因此,据我了解,在滚动“.list td”中的“a”元素后,应该显示我的类“.laquo”。这工作得很好。但是我如何告诉 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;">&nbsp;&laquo;</span>
            </td>
        </tr>
    </table>
</div>

如您所见,“.laquo”不是“a”的子代。那我该如何选择呢?

Aaaand,我明白了:D。只需要删除'a',所以我从'td'中选择。

谢谢大家的帮助!

4

3 回答 3

1

.laquo是 的子级时a,使用当前a作为上下文:

$(".laquo",this).show();

如果没有,我们需要查看相关元素的 HTML。

于 2013-01-20T21:19:13.687 回答
1

假设.laquo元素是链接元素的子元素:

$(".list td a").hover(function(){
    $(this).find('.laquo').toggle();
});
于 2013-01-20T21:19:47.173 回答
0

您的代码基本上是正确的,所以我假设您只是在没有向我们展示的代码中搞砸了一些东西。

悬停代码示例

$(".list td a").hover(function(){
  $(".laquo", this).show();   
}, function(){
  $(".laquo", this).hide();  
});

链接到它工作的 JS Fiddle

然而,理想情况下,这个任务根本不应该在 Javascript 中完成,因为使用 :hover 伪选择器在纯 CSS 中实现它很容易。

在纯 CSS 中链接到 JSFiddle

于 2013-01-20T21:26:19.263 回答