单击时隐藏span类

时间:2011-01-23 20:39:11

标签: jquery

我有一个带链接的span类。我想在使用jQuery单击链接或span类本身时隐藏span类。有人可以告诉我怎么做? 这是我的代码和演示。

http://jsfiddle.net/RRkLt/

由于

5 个答案:

答案 0 :(得分:1)

隐藏a:

中的任何span元素
$(document).ready( function() {
    $('.msg, .entry').click( function() {
        $(this).find('span').hide() 
    });
});

如果您想定位更多链接,则需要更新'.msg, .entry'选择器以匹配新元素。我建议您考虑使用公共类标记所有要应用它的元素,如下所示:

<a class="entry statusLink" ..>...</a>
<a class="msg statusLink" ..>...</a>
<a class="another statusLink" ..>...</a>

答案 1 :(得分:0)

你可以做什么的一个粗略的例子..

$(document).ready(function() {
    $("a, .number").click(function() {
        $(this).find(".number").hide();
    });
});

文档就绪检查在将函数绑定到事件之前已加载DOM。 $(this)表示作为参数传递的对象,在这种情况下是被点击的对象,无论是.number还是链接(a)。 .find(数字)用于检查是否单击了链接,它只隐藏.number,而不是整个链接标记。

答案 2 :(得分:0)

因为您希望隐藏跨度,所以您需要在链接中找到跨度。像这样:

$('.msg, .entry').click(function()
{
    $('.number',this).hide();
});

答案 3 :(得分:0)

只是一个想法,但这个有效:

$('a:has("span"), a > span').click(
    function(){
       $(this).find('span').remove(); 
    });

JS Fiddle demo

jQuery API参考:

  1. :has() selector
  2. find()
  3. remove()

答案 4 :(得分:0)

$(document).ready( function() {
    $('a.msg, a.entry').click( function() {
        $(this).find('span').hide();
        return false;
    });
});

总是遵循最佳实践并将标记包含在类中(用于优化)并使用函数返回false