jquery如何遍历table,并对table里的某一个单元格进行操作

1、如何根据每一行的某一列的值进行比较或其他操作,进而修改另一列的值或属性。


$("#table_id tbody tr").each(function(){
            var a = $(this).children();//获取每一行
            var arr =a[2].innerText;//取得第三列的值
       if(arr......比较)
            a[1].firstElementChild.setAttribute("checked","checked");
                //给第二列添加一个属性checked
        });
table_id是table的id,接着tbogy tr是为了更进一步找到这元件。
 

2、如何对table中checkbox复选框进行操作。下面介绍如何获取被选中的复选框的有关信息。

其实也可以像上述进行遍历整个table,然后根据被选中的行,取当前行的另一列的值。我在这里是直接遍历checkbox这一列,然后在checkbox的value中赋值想要得到的数据。通过遍历,取该value。


$("#sample-table-1 tbody input[type='checkbox']").each(function(){
            if($(this).is(':checked')){
                approver=approver+$(this).val()+",";
            };
        });
<td>
  <input type="checkbox" name="approver" value="${user.id}:${user.username}">
</td>

判断是否被选中,用$("...").is(':checked')来判断。

 

还有其他的方法对table的遍历,比如:

 $("#table_id").children("tr")获取tr的list列表
然后用for循环遍历整个list,list中的每一个都是一行,那么可以通过children的方法获取到这一行中的所有孩子,就每一行的每一个字段(列),
var tdArr = trList.eq(i).find("td");
tdArr.eq(0)表示该行的第一列,后面紧接着是操作。
代码如下:
var trList = $("#table_id").children("tr")
    for (var i=0;i<trList.length;i++) {
        var tdArr = trList.eq(i).find("td");
        var a = tdArr.eq(0).find('input').val();
    }

另外,也可以这样,
$("#history_income_list").find("tr").each(function(){
        var tdArr = $(this).children();
        var a = tdArr.eq(0).find('input').val();
});
原文地址:https://www.cnblogs.com/TerLeeHost/p/7865565.html