DOM Element.Closest Child

Joe*_*Joe 4 html javascript dom

在查询DOM时,是否有任何理由为什么标签不能作为孩子使用?

var el = document.getElementById("myEl");
var group = el.closest(".form-group");
var ipt =  el.closest(".form-group > input");
var lbl =  el.closest(".form-group > label");
console.log(ipt);
console.log(lbl);
Run Code Online (Sandbox Code Playgroud)
<div class="row">
  <div class="form-group col-sm-6">
    <label>Name
      <i class="fa fa-asterisk text-danger"></i>
    </label>
    <input type="text" class="form-control" id="myEl" value.bind="location.name & validate">
  </div>
</div>
    
Run Code Online (Sandbox Code Playgroud)

epa*_*llo 7

你需要选择父项而不是寻找孩子,没有办法将它组合起来.使用您的代码,它正在寻找作为输入或标签的父级.

var el = document.getElementById("myEl");
var group = el.closest(".form-group");
var ipt =  group.querySelector("input");
var lbl =  group.querySelector("label");
console.log(ipt);
console.log(lbl);
Run Code Online (Sandbox Code Playgroud)
<div class="row">
  <div class="form-group col-sm-6">
    <label>Name
      <i class="fa fa-asterisk text-danger"></i>
    </label>
    <input type="text" class="form-control" id="myEl" value.bind="location.name & validate">
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)