使用querySelectorAll为新创建的元素创建循环

时间:2013-01-04 19:03:07

标签: javascript loops indexing selectors-api

我要做的是使用querySelectorAll()函数创建一个循环,我可以使用<li/>函数定位我创建的每个新getInput()元素创建(工作正常)。我想使用console.log()对此进行测试,以便当我点击每个<li/>项时,它确认我已在控制台中完成此操作。这个querySelectorAll()方法对我来说是新的,我也是学习Javascript的新手。所以,任何建议和解释都会非常有帮助。谢谢。

function getInput() {
    var liValue = theForm.elements.input.value;  
    var liNew = document.createElement("li");
    liNew.innerHTML += liValue;
    var list = document.getElementById("ulList");
    list.appendChild(liNew); 
    deleteLi;
 }

 function deleteLi() {
    var handlers = document.querySelectorAll("li");
    for (var i = 0; i < handlers.lenghth; i++) {
        handlers[i].onclick = console.log("you got me");
    }
 }

1 个答案:

答案 0 :(得分:1)

在创建元素时添加单击处理程序。如您所发布的那样运行qSA,选择所有li元素,甚至是您已创建的元素。

function getInput() {
    var liValue = theForm.elements.input.value;  
    var liNew = document.createElement("li");
    liNew.onclick = function() { console.log("clicked!"); };
    liNew.innerHTML += liValue;
    var list = document.getElementById("ulList");
    list.appendChild(liNew); 
}