JQuery追加不在IE 7中工作

时间:2013-09-15 02:06:38

标签: jquery

这是我动态插入表行的代码。它不适用于ie7。但是使用ie8,ie9,Chrome,Firefox。

for (var lvl=0;lvl<13;lvl++) {
  $("#check-form tbody").append( "<tr />");                 
  for (var fchr=6;fchr<=36;fchr+=3) {
    if (fchr==6)
      $("#check-form tbody").append( "<th scope=\"row\">"+hpa[lvl]+" MB</th>");                 
    $("#check-form tbody").append("<td><input type=\"checkbox\" value="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" id="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" class=\"chkChart\"></input></td>");
  }
}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

可能不是原因,但你有一些流浪空间。先试试这个

for(var lvl=0;lvl<13;lvl++)
{
    $("#check-form tbody").append("<tr />");                   
    for(var fchr=6;fchr<=36;fchr+=3)
    {
        if(fchr==6)
        $("#check-form tbody").append("<th scope=\"row\">"+hpa[lvl]+" MB</th>");
        $("#check-form tbody").append("<td><input type=\"checkbox\" value="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" id="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" class=\"chkChart\"></input></td>");
    }
}

如果这不起作用,您可能需要这样做(用单引号替换双引号)

for(var lvl=0;lvl<13;lvl++)
{
    $('#check-form tbody').append('<tr />');
    for(var fchr=6;fchr<=36;fchr+=3)
    {
        if(fchr==6)
        $('#check-form tbody').append('<th scope="row">' + hpa[lvl]+ ' MB</th>');
        $('#check-form tbody').append('<td><input type="checkbox" value=' + fchr.slice(-2) + '_' + hpa[lvl] + ' id=' + fchr.slice(-2) + '_' + hpa[lvl] + ' class="chkChart"></input></td>');
    }
}

答案 1 :(得分:0)

现在工作正常。这里的代码是

for(var lvl=0;lvl<13;lvl++)
{
    $("#check-form tbody ").append( "<tr id="+lvl+"/>");                    
    for(var fchr=6;fchr<=36;fchr+=3)
    {
        if(fchr==6)
         $("#check-form tbody #"+lvl).append( "<th>"+hpa[lvl]+" MB</th>");                  
        $("#check-form tbody #"+lvl).append("<td><input type=\"checkbox\" value="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" id="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" class=\"chkChart\"></input></td>");
    }
}

此类正在运行的示例http://jsfiddle.net/WHscf/1/