2013-06-11 80 views
0

我想为每个类写东西选择这个标签并且不显示它。

$('.no_show_on_form').each(function() 
    { 
     $(this label).css('display','none'); 
    }); 

它实际上返回false。

我该如何正确编写我的语法?

-

编辑#1:我曾尝试用最接近()函数这个其他方式,但它似乎并不返回错误或任何作品。

$('.no_show_on_form').each(function() 
{ 
    $(this).closest('label').css('display','none'); 
}); 
+0

添加代码来理解这个问题 – Amit

回答

4

好像你正在寻找这一点 -

$('label',this).css('display','none'); 
+0

嗨@pXL,我使用了上面的解决方案,因为我更熟悉这个解决方案而不是你的。但是,我相信这有助于别人。 –

1

选择器是字符串。

你需要调用jQuery的遍历方法,探索元素:

$(this).find('label') 
+0

嗨@Slaks,您的解决方案实际工作得很好。 Thx –

1

如果.no_show_on_form是某种容器中,然后使用情境:

$('label', this).hide(); 

如果.no_show_on_form是表单元素,你需要更有创意一点:

$('.no_show_on_form').each(function(i,el) { 
    if (el.id) { 
     $('label[for="' + el.id + '"]').hide(); 
    } 
}); 
+0

这是一种容器。这两种方法都工作得很好。 –

0
$('.no_show_on_form').each(function() 
{ 
    $(this).find('label').css('display','none'); 
}); 

正确的语法是使用功能查找()。

描述 获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。

http://api.jquery.com/find/