如何使用“this”访问元素

时间:2010-08-25 11:35:43

标签: jquery html jquery-selectors jquery-traversing


我需要在每个DIV标签中访问SPAN标签,因此我使用了以下代码

    $("DIV").click(function(){      
    $(this + "SPAN").show();
});


以上代码是否正确?它不适合我!它也没有显示..
请帮帮我

Thanks感谢,Praveen J

2 个答案:

答案 0 :(得分:9)

您可以使用.find()在另一个元素中获取元素,如下所示:

$("div").click(function(){      
  $(this).find("span").show();
});

作为一般规则,为了获得与this相关的任何内容,您通常会从$(this)tree traversal functions的某种组合开始移动。


对于实际代码,基于以下评论:
如果您的代码如下所示:

<fieldset>
  <legend>Link</legend>
  <span>CHECK</span>
</fieldset> 

然后.find()$("legend")选择器上无效,因为<span>不是里面 <legend>它是兄弟姐妹,所以使用.siblings()(可选择使用选择器),如下所示:

$("legend").click(function(){ 
  $(this).siblings("span").show(); 
});​

You can give it a try here

答案 1 :(得分:2)

您可以使用find功能来执行此操作。 (此外,首选使用小写字母作为选择器。)

$("div").click(function(){      
    $(this).find("span").show();
});