查询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);
<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>
您需要选择父母,而不是寻找孩子,就无法将其组合起来。使用您的代码,它正在寻找输入或标签的父母。
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);
<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>