html_table获取当前数据

发布时间 2023-04-09 15:52:47作者: leochan007
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1px">
    <tr id="filed">
        <td id="id">ID</td>
        <td id="title">标题</td>
        <td id="category">类型</td>
        <td>操作</td>
    </tr>
    <tr>
        <td>1</td>
        <td>一起去看流星雨</td>
        <td>综艺</td>
        <td>
            <button onclick="del(this,'id')">删除(获取id)</button>
        </td>
    </tr>
    <tr>
        <td>2</td>
        <td>孤勇者</td>
        <td>激情</td>
        <td>
            <button onclick="del(this,'title')">删除(获取title)</button>
        </td>
    </tr>

</table>
</body>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>

    function del(row, filed) {
        var tableHeadId = "#filed";
		console.log(row);
        console.log(getCurrentRowFiledValue(row, filed, tableHeadId));
    }

    //row,当前行的this对象.filed,需要获取的字段值.tableHeadId,table表头行row的ID值.
    function getCurrentRowFiledValue(row, filed, tableHeadId) {
        //获取table表头所有td
        var fileds = $(tableHeadId).children();
        //记录表头中所有的字段
        var tableHeadFileds = [];
        //  长度-1,是减去操作列.
        for (let i = 0; i < fileds.length - 1; i++) {
            tableHeadFileds.push(fileds[i].id)
        }
        //找到当前行,指定的字段值.
        for (let i = 0; i < tableHeadFileds.length; i++) {
            if (tableHeadFileds[i] == filed) {
                //返回当前行的指定字段值.
                return $(row).parent().parent().children()[i].innerHTML;
            }
        }
    }
</script>
</html>