如何为动态表Td添加div(不是Th)

时间:2016-07-21 02:46:45

标签: javascript jquery



 function table() {
            var body = document.body,
                     tbl = document.createElement('table'),
                     tableId = document.createAttribute('id');
            tableId.value = "table";
            tbl.setAttributeNode(tableId);
            tbl.className = 'table2';
            var id = 0;
            for (var i = 0; i < 30; i++) {
                var tr = tbl.insertRow();
                tr.setAttribute("data-id", i, 0);

                for (var j = 0; j < 4; j++) {

                    var td = tr.insertCell();
                    td.appendChild(document.createTextNode(""));

                    td.id = "td" + id ;
                    id++;
                }

            }
            
           
            $(".middletablediv").append(tbl);
           
        };
        table();
&#13;
&#13;
&#13;

我有动态表,其中包含td和th我为表td添加div但它也影响th。我不想要div只在div中我想要div

&#13;
&#13;
$('tr:first-child').children('td').replaceWith(function(i, html) {
  return '<th>' + html + '</th>';
});
&#13;
&#13;
&#13;

此代码用于将第一行td更改为th 和

&#13;
&#13;
$('#table td').wrapInner('<div class="tddivcolor divtime" />');
&#13;
&#13;
&#13;

这是为了将类添加到td

2 个答案:

答案 0 :(得分:1)

我能看到的唯一原因是脚本执行的顺序。

如果您先运行包装代码,然后运行td - &gt; td转换代码,那么div也将添加到第一行。

因此,一种解决方案是修复订单并首先移动th转换代码。

如果无法做到这一点,那么你可以从包装中排除第一行

$('#table tr:not(:first-child) td').wrapInner('<div class="tddivcolor divtime" />');

答案 1 :(得分:0)

如果你知道具体的,请尝试使用追加,如果它适合你。

<table><tr><td>...

这不是您需要的确切答案,但可能会导致正确的方向。

就像你想把div放在哪里,然后尝试这个,我用它来我的选择器类来创建'div'

$("#SelectorID").append("<div class= EmpList id=" + empID + ">" + selectedList[empID] + " <span class='close'>&times;</Span> </div>");