js实现表格添加数据

js实现表格添加数据

HTML代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="util.js"></script>
    <script>
        function add(){
            var tab=$("#tab");
            var userId=$("#userId").value;
            var userName=$("#userName").value;
            var userAge=$("#userAge").value;

            var newTr=tab.insertRow(1);
            var idTd=newTr.insertCell(0);
            var nameTd=newTr.insertCell(1);
            var genderTd=newTr.insertCell(2);
            idTd.innerHTML=userId;
            nameTd.innerHTML=userName;
            genderTd.innerHTML=userAge;
        }
        function del(){
            var tab=$("#tab");
            tab.deleteRow(1);
        }

    </script>
</head>
<body>
    <table border="1px" id="tab">
        <tr id="tr1">
            <th width="250px">编号</th>
            <th width="250px">姓名</th>
            <th width="250px">性别</th>
        </tr>
        <tr id="tr2">
            <th width="250px">1</th>
            <th width="250px">zzzz</th>
            <th width="250px">男</th>
        </tr>
    </table>

    <div style="text-align: center">
        编号:<input type="text" id="userId" />
        姓名:<input type="text" id="userName" />
        年龄:<input type="text" id="userAge" />
    </div>
    <input type="button" value="添加" οnclick="add()" />
    <input type="button" value="删除" οnclick="del()" />
</body>
</html>

js代码:


/**
 *
 * @param idOrName  如果传入id  前面加上#   如果传入name  直接传入
 * @returns {*}  返回元素节点  如果没找到 返回null
 */
function $(idOrName){
    var obj=null;
    if(idOrName){
        if(idOrName.charAt(0)=="#"){
            obj=document.getElementById(idOrName.substring(1));
        }else{
            obj=document.getElementsByName(idOrName);
        }
    }
    return obj;
}
/**
 *
 * @param parentNode  父节点
 * @returns {Array}  所有的元素子节点
 */
function getChildNodes(parentNode){
    var childs=parentNode.childNodes;
    var newChilds=[];
    for(var i=0;i<childs.length;i++){
        if(childs[i].nodeType==1){
            newChilds.push(childs[i]);
        }
    }
    return newChilds;
}
/**
 *
 * @param parentNode 父节点
 * @returns {*|Node}   第一个元素节点
 */
function getFirstChild(parentNode){
    var firstChild=parentNode.firstChild;
    if(firstChild.nodeType==3){
        firstChild=firstChild.nextSibling;
    }
    return firstChild;

}
/**
 *
 * @param parentNode 父节点
 * @returns {*|Node}   最后一个元素节点
 */
function getLastChild(parentNode){
    var lastChild=parentNode.lastChild;
    if(lastChild.nodeType==3){
        lastChild=lastChild.previousSibling;
    }
    return lastChild;
}
/**
 *
 * @param node  元素节点
 * @returns {*|Node}  返回下一个兄弟元素节点
 */
function getNextSibling(node){
    var nextNode=node.nextSibling;
    if(nextNode.nodeType==3){
        nextNode=nextNode.nextSibling;
    }
    return nextNode;
}
/**
 *
 * @param node  元素节点
 * @returns {*|Node}  返回前一个兄弟元素节点
 */
function getPreviousSibling(node){
    var preNode=node.previousSibling;
    if(preNode.nodeType==3){
        preNode=preNode.previousSibling;
    }
    return preNode;
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用HTML和JavaScript来实现表格添加数据并带样式设置的功能。以下是一个稍微复杂一些的示例代码: HTML代码: ```html <table id="myTable"> <thead> <tr> <th>Name</th> <th>Age</th> </tr> </thead> <tbody> </tbody> </table> <form> <input type="text" id="nameInput" placeholder="Name"> <input type="number" id="ageInput" placeholder="Age"> <button type="button" onclick="addRow()">Add</button> </form> ``` CSS代码: ```css table { border-collapse: collapse; width: 100%; } th, td { padding: 8px; text-align: left; border-bottom: 1px solid #ddd; } th { background-color: #4CAF50; color: white; } ``` JavaScript代码: ```javascript function addRow() { // 获取表格输入框中的数据 var table = document.getElementById("myTable"); var name = document.getElementById("nameInput").value; var age = document.getElementById("ageInput").value; // 创建新的行和单元格 var row = table.insertRow(-1); var nameCell = row.insertCell(0); var ageCell = row.insertCell(1); // 将输入框中的数据添加到新的单元格中 nameCell.innerHTML = name; ageCell.innerHTML = age; // 设置行样式 row.style.backgroundColor = "#f2f2f2"; // 设置单元格样式 nameCell.style.border = "1px solid #ddd"; ageCell.style.border = "1px solid #ddd"; ageCell.style.textAlign = "center"; // 清空输入框中的数据 document.getElementById("nameInput").value = ""; document.getElementById("ageInput").value = ""; } ``` 此代码将在表格的末尾添加新的行,并设置了行和单元格的样式。你可以根据需要修改此代码,例如添加更多的样式设置或删除行的功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值