将jquery脚本的范围限制为直接祖先

将jquery脚本的范围限制为直接祖先,jquery,gravity-forms-plugin,Jquery,Gravity Forms Plugin,我编写此脚本是为了查找包含gfield\u error的子项的标记,并在该中添加一个类wow error 问题是它工作得太好了,如果它在页面上的任何地方发现gfield\u error,它会将类添加到页面上的每个,而不仅仅是那些有gfield\u error的子类 jQuery(document).ready(function( $ ) { $(':has(.gfield_error) > fieldset').addClass('wow-error'); }); <fieldse

我编写此脚本是为了查找包含
gfield\u error
的子项的
标记,并在该
中添加一个类
wow error

问题是它工作得太好了,如果它在页面上的任何地方发现
gfield\u error
,它会将类添加到页面上的每个
,而不仅仅是那些有
gfield\u error
的子类

jQuery(document).ready(function( $ ) {
$(':has(.gfield_error) > fieldset').addClass('wow-error');
});

<fieldset class="gfieldset">
    <legend class="gfieldset-legend ">Name</legend>
    <ul class="gform_fields">
        <li id="field_2_95" class="gfield gfield_error">
                <p>Some content</p>
        </li>
    </ul>
</fieldset>
jQuery(文档).ready(函数($){
$(':has(.gfield_error)>fieldset')。addClass('wow-error');
});
名称
  • 一些内容

我确信这是一个基本的错误,有人能提供指导吗。

没有任何“真正的”标记很难判断。。。但我可以提出以下循环:

$('.gfieldset :has(.gfield_error)').each(function(){
  $(this).addClass('wow-error');
});
因此,应该循环通过所有
.gfield集
,其中至少有一个子项出现
gfield\u错误

jQuery(document).ready(function( $ ) {
$(':has(.gfield_error) > fieldset').addClass('wow-error');
});

<fieldset class="gfieldset">
    <legend class="gfieldset-legend ">Name</legend>
    <ul class="gform_fields">
        <li id="field_2_95" class="gfield gfield_error">
                <p>Some content</p>
        </li>
    </ul>
</fieldset>
$(此)
是目标
.gfieldset
匹配元素

$('.gfieldset:has(.gfield_error)')。每个(函数(){
$(this.addClass('wow-error');
});
.wow错误{
颜色:红色;
}

名称
  • 一些内容

名称
  • 一些内容

没有任何“真实”的标记很难说。。。但我可以提出以下循环:

$('.gfieldset :has(.gfield_error)').each(function(){
  $(this).addClass('wow-error');
});
因此,应该循环通过所有
.gfield集
,其中至少有一个子项出现
gfield\u错误

jQuery(document).ready(function( $ ) {
$(':has(.gfield_error) > fieldset').addClass('wow-error');
});

<fieldset class="gfieldset">
    <legend class="gfieldset-legend ">Name</legend>
    <ul class="gform_fields">
        <li id="field_2_95" class="gfield gfield_error">
                <p>Some content</p>
        </li>
    </ul>
</fieldset>
$(此)
是目标
.gfieldset
匹配元素

$('.gfieldset:has(.gfield_error)')。每个(函数(){
$(this.addClass('wow-error');
});
.wow错误{
颜色:红色;
}

名称
  • 一些内容

名称
  • 一些内容


我的第一个想法是改变它-找到任何
.gfield\u错误
,然后使用

$('demo')。在('click',function()上{
$(“.gfield_错误”)
.closest('fieldset.gfieldset')
.addClass('wow-error');
});
字段集{
边缘:1米;
边框:1px纯色灰色;
}
.哇错误{
背景颜色:浅黄色;
}

名称
  • 匹配字段集中的某些内容

名称
  • 非匹配字段集中的某些内容
    这是一个字段集,但不是.gfieldset,所以即使 如果包含.gfield_错误,则不会将其选中

名称
  • 匹配字段集中的某些内容没有gfield\u错误。
    这是一个.gfield集,但不包含.gfield\u错误

名称
  • 另一个匹配字段集


演示
我的第一个想法是改变它-找到任何
.gfield\u错误
,然后使用

$('demo')。在('click',function()上{
$(“.gfield_错误”)
.closest('fieldset.gfieldset')
.addClass('wow-error');
});
字段集{
边缘:1米;
边框:1px纯色灰色;
}
.哇错误{
背景颜色:浅黄色;
}

名称
  • 匹配字段集中的某些内容

名称
  • 非匹配字段集中的某些内容
    这是一个字段集,但不是.gfieldset,所以即使 如果包含.gfield_错误,则不会将其选中

名称
  • 匹配字段集中的某些内容没有gfield\u错误。
    这是一个.gfield集,但不包含.gfield\u错误

名称
  • 另一个匹配字段集

演示