2012-02-02 51 views
3

在表中,我有一個<td>其html或者是。如果值爲則隱藏如果子值匹配某個字符串,則隱藏父元素JQuery

HTML:

<tr> 
    <td class="IsRequired" align="left" valign="middle" style="width:3px;">False</td> 
</tr> 

查詢:

$('.IsRequired').html("False").parent().hide(); 

這隱藏了所有它的類是 「IsRequired

請諮詢<td>

回答

4
+1

不應該是'$(「。IsRequired td:contains('False')」)'? +1無論如何 – 2012-02-02 00:10:37

+2

不完全但接近('td'不是'IsRequired'元素的後代)。哇,更新了我的例子 – 2012-02-02 00:14:05

+0

。你是對的。 idk爲什麼我認爲'.IsRequired'是父母。 O_O – 2012-02-02 00:18:34

2

我認爲你應該做

$('.IsRequired').each(function(){ 
      if($(this).html()=="False") 
       $(this).parent().hide() 
      }); 
2

演示:http://jsfiddle.net/93n42/

$('.IsRequired').filter(function(){ 
    return $(this).html() == "False" 
}).parent().hide(); 

,應該工作。這裏

$("td.IsRequired:contains('False')").parent().hide(); 

工作示例:

+0

加1,使用過濾器,而不是每一個,但我認爲:含有僞元素方法你擊敗! – Malk 2012-02-02 00:10:44

+0

@Adam同意XD – 2012-02-02 00:11:06

+1

爲什麼過濾器優先於.each? – Bogdan 2012-02-02 00:16:31

1

試試這個:

$('.IsRequired').each(function(){ 
    if ($(this).text() == 'False') $(this).parent().hide(); 
}); 
相關問題