JQuery无法访问使用DOM创建的元素

时间:2016-07-11 10:06:21

标签: jquery dom createelement

美好的一天!我在下面的代码显示了一个表,它正在运行。我可以显示表格及其内容。这是代码:

     if(xhr.readyState == 4 && xhr.status == 200) {
        var data = JSON.parse(xhr.responseText);
        var x = 0;
        var table = document.getElementById("tblData");

        for(x=0; x<data.length; x++) {

          dataInstance = data[x].split('*');

          var row = document.createElement("tr");
          var td1 = document.createElement("td");
          var td2 = document.createElement("td");
          var td3 = document.createElement("td");
          var td4 = document.createElement("td");
          var td5 = document.createElement("td");
          var td6 = document.createElement("td");
          var td7 = document.createElement("td");;

          var cb = document.createElement('input');
          cb.setAttribute("type", "checkbox");

          var tn1 = document.createTextNode(dataInstance[1]);
          var tn2 = document.createTextNode(dataInstance[2]);
          var tn3 = document.createTextNode(dataInstance[3]);
          var tn4 = document.createTextNode(dataInstance[4]);
          var tn5 = document.createTextNode(dataInstance[5]);
          var tn6 = document.createTextNode(dataInstance[6]);

          td1.appendChild(cb);
          td2.appendChild(tn1);
          td3.appendChild(tn2);
          td4.appendChild(tn3);
          td5.appendChild(tn4);
          td6.appendChild(tn5);
          td7.appendChild(tn6);

          row.appendChild(td1);
          row.appendChild(td2);
          row.appendChild(td3);
          row.appendChild(td4);
          row.appendChild(td5);
          row.appendChild(td6);
          row.appendChild(td7);

          table.appendChild(row);
        }
    }

但是,当我尝试使用JQuery在我的桌子上交替添加一些颜色时,它找不到使用DOM创建的行。只有我的html代码中的表的表头填充了颜色。这是我的JQuery代码:

 $("#tblData tr:even").css("background-color", "pink");
 $("#tblData tr:odd").css("background-color", "yellow");
你能帮帮我吗?非常感谢你提前!任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

我的问题的答案是在创建元素后运行JQuery代码。