目标:
我试图遍历一系列复选框,并向每个元素添加一个带有同级复选框文本值的“ id”。 即.k-in
的内部文本>最近尝试:
function addSelectors() { const checks = document.querySelectorAll('.k-treeview-lines input[type="checkbox"]'); [].forEach.call(checks, function (checks) { let knn = document.querySelectorAll('.k-treeview-lines input[type="checkbox"] ~ .k-in'); checks.id = knn.innerText; }); }
HTML是下面的一系列:
<div class="k-mid"> <span class="k-checkbox-wrapper" role="presentation"> <input type="checkbox" tabindex="-1" id="undefined" class="k-checkbox"><-- id here <span class="k-checkbox-label checkbox-span"></span> </span> <span class="k-in">I want this</span><---- this text </div>
不想加载jQuery ...
目标:我正在尝试遍历一系列复选框,并为每个elem添加带有同级复选框文本值的值的“ id”。即.k-in的内部文本最近尝试:function ...
function addSelectors() {
const checks = document.querySelectorAll(
'.k-treeview-lines input[type="checkbox"]'
);
checks.forEach(function (checkbox) {
const textVal = checkbox.parentElement.nextElementSibling.innerText;
checkbox.setAttribute("id", textVal);
});
}
addSelectors();
<div class="k-treeview-lines">
<div class="k-mid">
<span class="k-checkbox-wrapper" role="presentation">
<input
type="checkbox"
tabindex="-1"
id="undefined"
class="k-checkbox"
/>
<span class="k-checkbox-label checkbox-span"></span>
</span>
<span class="k-in">tempID</span>
</div>
</div>
您请求的项目实际上不是兄弟姐妹,他们没有同一个父母。