从〜兄弟元素innerText val向复选框元素添加'ids'>

问题描述 投票:0回答:2

目标:

我试图遍历一系列复选框,并向每个元素添加一个带有同级复选框文本值的“ 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 ...

javascript ecmascript-6 foreach css-selectors
2个回答
1
投票

    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>

1
投票

您请求的项目实际上不是兄弟姐妹,他们没有同一个父母。

© www.soinside.com 2019 - 2024. All rights reserved.