我如何更改父元素的类

时间:2019-01-05 05:36:38

标签: javascript jquery html css webpage

在进行表单检查之后,我想向表单组添加一个错误类。

如果我先拥有"myfieldname" $('input[name="myfieldname"]')

,该如何访问和执行该操作?
<div class="row">
    <div class="form-group col-lg-6">
          <label for="subfolder">text</label>
          <div class="input-group">
             <div class="input-group-addon">test</div>
             <input type="text" class="form-control" id="myfieldid" name="myfieldname">                                                    
           </div>
     </div>  
</div>

3 个答案:

答案 0 :(得分:1)

由于您使用的是jQuery,因此非常简单:

if (error) {
    $(“input[name=‘myfieldname’]”).parent().parent().addClass(“error”);
}

尽管您可以像这样在纯JavaScript中做到这一点:

if (error) {
    document.querySelector(“input[name=‘myfieldname’]”).parentNode.parentNode.classList.add(“error”);
}

答案 1 :(得分:1)

使用jQuery closest

  

描述:对于集合中的每个元素,获取第一个元素   通过测试元素本身并向上遍历来匹配选择器   通过它的祖先在DOM树中。

$('input[name="myfieldname"]').closest('.form-group').addClass('error');

答案 2 :(得分:0)

现在可以使用

var $field.=$('input[name="myfieldname"];
$field.parents('.form-group').removeClass('has-error has-success has-danger has-warning').addClass('new class');