如何在javascript中使用id或类选择动态创建的元素?

如何在javascript中使用id或类选择动态创建的元素?,javascript,dynamically-generated,Javascript,Dynamically Generated,试图找出如何选择我使用Javascript动态创建的div,因为它们没有被识别为dom的一部分。JS新手,因此任何见解都将受到赞赏 function createDiv() { count= count+1; //creating elements outside - start var resultDiv = document.createElement("div"); resultDiv.className = "result-div"; var re

试图找出如何选择我使用Javascript动态创建的div,因为它们没有被识别为dom的一部分。JS新手,因此任何见解都将受到赞赏

function createDiv() {
    count= count+1;
    //creating elements outside - start
    var resultDiv = document.createElement("div");
    resultDiv.className = "result-div";
    var resultDiv2 = document.createElement("div");
    resultDiv2.className = "result-div2";
    //end

    if (count%2 != 0) {
        if(count>2) {
            var xyz = document.querySelector(".result-div2");
            xyz.style.display = "none";
            console.log("click 3");
        }

        var parentDiv = document.getElementById("main-div");
        parentDiv.appendChild(resultDiv);

        resultDiv.style.display = "block";
        document.getElementsByClassName("result-div").style.display= "block";
    } else {
        var parentDiv = document.getElementById("main-div");
        parentDiv.appendChild(resultDiv2);

        console.log("click even");
        document.getElementsByClassName("result-div2").style.display= "block";

        var xyz = document.getElementsByClassName("result-div");
        xyz.style.display = "none";
    }

    console.log(count);
}
我使用Javascript动态创建,因为它们不被认为是dom的一部分

不,它们实际上是DOM的一部分。我猜您是这样想的,因为新创建的元素中没有内容。您可以在新创建的
div
中添加一些文本,以便查看

getElementsByClassName()
返回类似数组的对象。你必须使用索引

函数createDiv(){
var计数=0;
计数=计数+1;
//在外部创建元素-开始
var resultDiv=document.createElement(“div”);
resultDiv.className=“result div”;
resultDiv.textContent=“result-1”//在此处添加文本
var resultDiv2=document.createElement(“div”);
resultDiv2.className=“result-div2”;
resultDiv2.textContent=“result-2”//在此处添加文本
//结束
如果(计数%2!=0){
如果(计数>2){
var xyz=document.querySelector(“.result-div2”);
xyz.style.display=“无”;
控制台日志(“单击3”);
}
var parentDiv=document.getElementById(“主div”);
parentDiv.appendChild(resultDiv);
resultDiv.style.display=“block”;
document.getElementsByClassName(“结果div”)[0].style.display=“block”;
}
否则{
console.log(计数%2)
var parentDiv=document.getElementById(“主div”);
parentDiv.appendChild(resultDiv2);
console.log(“点击平衡”);
document.getElementsByClassName(“result-div2”)[0].style.display=“block”;
var xyz=document.getElementsByClassName(“结果div”)[0];
xyz.style.display=“无”;
}
控制台日志(计数);
}
createDiv()
.result div{color:red}

直接使用参考,即
resultDiv2
而不是
if
块中的
xyz
,以及
else
块中的
resultDiv