简体   繁体   English

从数组中填充li元素删除重复项并在选中时添加值:false(开/关按钮)

[英]fill a li element from a array remove duplicates and add values if checked:false (on/off button)

the result is my list is getting bigger every time i call this function. 结果是我的名单每次调用此函数时都会变大。 i know i am very close to the solve my problem but im getting really nervous these days. 我知道我非常接近解决我的问题,但这些天我真的很紧张。 Any help or comment will be appreciated. 任何帮助或评论将不胜感激。

function devicesoff() {
var devices = document.querySelectorAll("[id^='device_']");

for (var i = 0; i < devices.length; i++) {

    if (devices[i].checked === false) {

        var ele = devices[i].name;

        var para = document.getElementById("p");
        var list = document.createElement("li");


        var t = document.createTextNode(ele + "\n");

        list.appendChild(t);
        para.appendChild(list);

    }

}

First clear the old devices, then add new ones. 首先清除旧设备,然后添加新设备。

 function devicesOff() { var devices = document.querySelectorAll("[id^='device_']"); var para = document.getElementById("p"); para.innerHTML = ""; // clear old devices first // add new ones for (var i = 0; i < devices.length; i++) { if (devices[i].checked === false) { var ele = devices[i].name; var list = document.createElement("li"); var t = document.createTextNode(ele + "\\n"); list.appendChild(t); para.appendChild(list); } } } 
 <input type="checkbox" id="device_1" name="device_1" /> <input type="checkbox" id="device_2" name="device_2" /> <input type="checkbox" id="device_3" name="device_3" /> <input type="button" value="devicesOff" onclick="devicesOff()" /> <ul id="p"> </ul> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM