Javascript 打破10 td';在tr内的一组5中的s

Javascript 打破10 td';在tr内的一组5中的s,javascript,jquery,html,Javascript,Jquery,Html,我从外部网站得到一个我无法控制的页面。现在,该表有如下内容: <table><tbody> <!-- headers --> <tr><td></td> <td></td> <td></td> <td></td> <td></td> <td></td>

我从外部网站得到一个我无法控制的页面。现在,该表有如下内容:

    <table><tbody>
<!-- headers -->
<tr><td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
<!-- body -->
<tr><td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
</tbody></table>
if($("#container").find("table>tbody>tr>td").length <=5)){
do the breaking here 
}
$('#mypahe form table>tbody>tr:odd').each(function(){
    $('<tr>').insertAfter(this).append($('>:gt(4)',this))
});
if($("#container").find("table>tbody>td").length <=5){    


 var theElements = $("#container").find("table>tbody>tr>td");    
    var theOutput = '';    
    $('tbody').empty();        
    $('tbody').append('<tr>');    
    for(var i = 1; i <= theElements.length + 1; i++) {    
        theOutput +=  theElements[i-1];    
        $('tbody').append(theElements[i-1])    
        if(i%5 == 0) {    
            $('tbody').append('</tr><tr>');    
        }    
    }     
    $('tbody').append('</tr>');    
}

我在一条线上得到了这一切。现在我想用jquery解决这个问题,每5个TD计数,它应该添加一个结束
和一个开始
,剩下的TD应该放在它们里面

试着这样做:

    <table><tbody>
<!-- headers -->
<tr><td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
<!-- body -->
<tr><td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
</tbody></table>
if($("#container").find("table>tbody>tr>td").length <=5)){
do the breaking here 
}
$('#mypahe form table>tbody>tr:odd').each(function(){
    $('<tr>').insertAfter(this).append($('>:gt(4)',this))
});
if($("#container").find("table>tbody>td").length <=5){    


 var theElements = $("#container").find("table>tbody>tr>td");    
    var theOutput = '';    
    $('tbody').empty();        
    $('tbody').append('<tr>');    
    for(var i = 1; i <= theElements.length + 1; i++) {    
        theOutput +=  theElements[i-1];    
        $('tbody').append(theElements[i-1])    
        if(i%5 == 0) {    
            $('tbody').append('</tr><tr>');    
        }    
    }     
    $('tbody').append('</tr>');    
}
if($(“#容器”).find(“table>tbody>tr>td”).length-tbody>tr:odd')。每个(函数(){
$('').insertAfter(this).append($('>:gt(4'),this))
});
但它从标签都在同一行开始,在下面的部分,它将tr分成两个tr


我更新了一个问题,我试过的代码和你给出的代码只在第一部分有效,而在第二部分无效。你可以这样做:

$('table').find('tr').each(function() {
    // collect all cells with an index greater 4
    var newCells = $(this).find('td:gt(4)'),
        // add a row below current
        newRow = $('<tr>').insertAfter(this);
    // add new row
    newRow.append(newCells);
});
function groupUp(TRelement, groups) {
    var trs = [];
    var groupSize = Math.floor(TRelement.children.length / groups);
    for (var i = 0; i < groups; ++i) {
        trs[i] = document.createElement("tr");
        for (var j = 0; j < groupSize; ++j) {
            trs[i].appendChild(TRelement.children[0]);
        }
    }

    while (TRelement.children.length > 0) {
        trs[groups - 1].appendChild(TRelement.children[0]);
    }

    var table = TRelement.parentNode;
    table.removeChild(TRelement);
    trs.forEach(function (element) {
        table.appendChild(element);
    });
}

var trs = document.querySelectorAll("table tr");
for(var i = 0; i < trs.length; ++i){
    groupUp(trs[i], 2);   
}
$('table').find('tr').each(function(){
//收集索引大于4的所有单元格
var newCells=$(this.find('td:gt(4)'),
//在当前行下方添加一行
newRow=$('').insertAfter(this);
//添加新行
追加(newCells);
});

基本上,你循环每一行,grep相关的单元格,并将它们附加到一个新行。小提琴是。

您可以做如下操作,例如:

$(“#容器表td:gt(4)”).wrapAll(“”).parent().appendTo(“#容器表tbody”)
td{border:1px#DDD solid;}

1.
2.
3.
4.
5.
6.
7.
8.
9
10

这样试试……它肯定会解决您的问题

$(“trtd:nth child(5n)”).each(function(){$(this.append(“HTML”);})

$(“trtd:nth child(5n)”).append(“HTML”)


或者您可以尝试以下方法:

    <table><tbody>
<!-- headers -->
<tr><td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
<!-- body -->
<tr><td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
</tbody></table>
if($("#container").find("table>tbody>tr>td").length <=5)){
do the breaking here 
}
$('#mypahe form table>tbody>tr:odd').each(function(){
    $('<tr>').insertAfter(this).append($('>:gt(4)',this))
});
if($("#container").find("table>tbody>td").length <=5){    


 var theElements = $("#container").find("table>tbody>tr>td");    
    var theOutput = '';    
    $('tbody').empty();        
    $('tbody').append('<tr>');    
    for(var i = 1; i <= theElements.length + 1; i++) {    
        theOutput +=  theElements[i-1];    
        $('tbody').append(theElements[i-1])    
        if(i%5 == 0) {    
            $('tbody').append('</tr><tr>');    
        }    
    }     
    $('tbody').append('</tr>');    
}
if($(“#容器”).find(“table>tbody>td”).length您可以这样做:

$('table').find('tr').each(function() {
    // collect all cells with an index greater 4
    var newCells = $(this).find('td:gt(4)'),
        // add a row below current
        newRow = $('<tr>').insertAfter(this);
    // add new row
    newRow.append(newCells);
});
function groupUp(TRelement, groups) {
    var trs = [];
    var groupSize = Math.floor(TRelement.children.length / groups);
    for (var i = 0; i < groups; ++i) {
        trs[i] = document.createElement("tr");
        for (var j = 0; j < groupSize; ++j) {
            trs[i].appendChild(TRelement.children[0]);
        }
    }

    while (TRelement.children.length > 0) {
        trs[groups - 1].appendChild(TRelement.children[0]);
    }

    var table = TRelement.parentNode;
    table.removeChild(TRelement);
    trs.forEach(function (element) {
        table.appendChild(element);
    });
}

var trs = document.querySelectorAll("table tr");
for(var i = 0; i < trs.length; ++i){
    groupUp(trs[i], 2);   
}
函数组(TreElement,组){
var-trs=[];
var groupSize=数学地板(treelement.children.length/组);
对于(变量i=0;i<组;++i){
trs[i]=document.createElement(“tr”);
对于(变量j=0;j0){
trs[groups-1].appendChild(treelement.children[0]);
}
var table=treelement.parentNode;
表2.removeChild(TRelement);
trs.forEach(功能(元素){
表2.子元素(元素);
});
}
var trs=document.querySelectorAll(“表tr”);
对于(变量i=0;i

演示:

像那样使用它….$(“tr td:nth child(5)”)。附加(“-2nd!”);各位,请引导您好,谢谢,但我们为什么使用-2nd这是唯一的内容。用您想要的任何内容替换此内容。只需使用此$(“tr td:nth child(5)”).logics。没有
-5th!
这样的东西。它只会逐字添加一个字符串。只需将这个-5th!替换为您希望在第5个td之后添加的html。它工作正常,但问题是,它会拆分td,但它会一个接一个地显示标题,并且表单字段是分开的,所以拆分td的se时不可能吗cond的表单值应该显示在它下面,否则它们会被加载你是否再次检查了我的问题,它正在工作,但现在它在顶部的两行上显示了标题,在底部的两行上显示了表单字段,就像标题没有像我应该的那样与firld一起一样,这是一段有点复杂的代码,我正在通过添加标题来修改你的代码同样,如果你看到标题运行与我尝试的不同:我希望在每个标题下都有goAwesome的值,谢谢伙计