如何使用jQuery查找和隐藏具有给定文本内容的元素的父元素?

时间:2009-12-28 21:42:25

标签: jquery jquery-selectors css-selectors

在下面的示例中,我试图弄清楚如果标签中的文本=组

,如何隐藏字段集
<fieldset class=" collapsible">
<legend class="collapse-processed"><a href="#">Groups</a></legend>

我尝试了这个,但是,它最终隐藏了所有的场地集,而不仅仅是这个......

$(this).find('legend').each( function() {
    if($(this).text('Groups')) {
        $(this).parent().hide();
    }
});

1 个答案:

答案 0 :(得分:4)

这是你的问题:

if ($(this).text('Groups'))

这只会将每个图例的文本更改为“群组”。并返回一个jQuery对象(将评估为 true )。你可能想要类似的东西,

if ( $(this).text() == 'Groups' )
  $(this).parent().hide();

如果您可以保证您想要隐藏的图例是唯一包含单词“Groups”的图例,那么您可以进一步简化:

$("fieldset:has(legend:contains('Groups'))").hide();

...它将仅选择包含图例元素的 fieldset ,而图例元素又包含字符序列“Groups”。