在js中怎样根据行号往table里面出入一条 <tr>?

在js中怎样根据行号往table里面出入一条 <tr>?,第1张

首先获取表格的引用tb,然后调用表格的插入行方法。var

tr=tb.

insertRow

(i),参数为插入行的下标,为-1时表示在最后追加一行,0表示插入行为第一行。不给参数时IE默认为-1,谷歌默认为0。该方法返回叉入的新行的引用。

htm给table标签动态添加 tr(行),具体参考代码如下:

<html>

<head>

<title>usually function</title>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

</head>

<script type="text/javascript" src="jquery-1.4.4.js"></script>

<body>

<table border="1px" id="targetTable">

<tr border="1px">

<td>序号</td>

<td>姓名</td>

<td>年龄</td>

<td>生日</td>

<td>备注</td>

</tr>

<tr id="model" style="display:none" border="1px">

<td></td>

<td><input type="text" name="username"></td>

<td><input type="text" name="age"></td>

<td><input type="text" name="birthday"></td>

<td><input type="text" name="note"><span onclick="del(this)">删除</span></td>

</tr>

</table>

<br>

<br>

用户输入表单

姓名<input type="text" name="u_username"><br>

年龄<input type="text" name="u_age"><br>

生日<input type="text" name="u_birthday"><br>

备注<input type="text" name="u_note"><br>

<button onclick="add()" style="font-size:12px">添加</button>

</body>

<html>

<script>

function del(obj){

//alert($(obj).closest("tr").attr("outerHTML"))

//$(obj).closest("tr").attr("outerHTML","")

$(obj).closest("tr").remove()

resetSequenceNum()

}

function add(){

//获取表单的值

var u_username = $("input[name='u_username']").val()

var u_age = $("input[name='u_age']").val()

var u_birthday = $("input[name='u_birthday']").val()

var u_note = $("input[name='u_note']").val()

//alert(u_username)

//判断表单的值是否为空

if(u_username=="" || u_username==undefined){

alert("用户姓名不能为空")

$("input[name='u_username']").focus()

return false

}

//缓存要赋值的内容,避免多次查询,提高效率

var trstr = $("#model").attr("outerHTML")

//alert(trstr)

//复制最后一行的代码添加到表的最后一行

$("#targetTable tr").last().after(trstr)

//$("#targetTable").find("tr").last().after(trstr)

//让最后一行显示出来,而不是隐藏

//$("#targetTable tr").last().css("display","block")会出现浏览器兼容的问题,在ff中显示不正常

$("#targetTable tr").last().css("display","")

//赋值

var target = $("#targetTable tr").last().find("td")

target.find("input[name='username']").val(u_username)

target.find("input[name='age']").val(u_age)

target.find("input[name='birthday']").val(u_birthday)

target.find("input[name='note']").val(u_note)

resetValue()

resetSequenceNum()

}

//清空表单的值

function resetValue(){

$("input[name='u_username']").val("")

$("input[name='u_age']").val("")

$("input[name='u_birthday']").val("")

$("input[name='u_note']").val("")

}

//重新设置序号

function resetSequenceNum(){

var num=0

$("#targetTable tr").each(function(index,dom){

if(index!=0){

$(dom).find("td").first().html(num)

num++

}

})

}

</script>

jQuery 添加新内容有以下四个方法:

append() - 在被选元素的结尾插入内容

prepend() - 在被选元素的开头插入内容

after() - 在被选元素之后插入内容

before() - 在被选元素之前插入内容

下面实例演示:点击按钮则在表格数据区域增加一行

1、HTML结构

<table id = "test">

<thead>

<tr><th>列1</th><th>列2</th><th>列3</th></tr>

</thead>

<tbody>

<tr><td>1</td><td>1</td><td>2</td></tr>

<tr><td>2</td><td>4</td><td>5</td></tr>

</tbody>

</table>

<input type="button" id="btn1" value="在开头增加">

<input type="button" id="btn2" value="在末尾增加">

2、jquery代码

$(function(){

$("#btn1").click(function() {

$("#test tbody").prepend('<tr><td></td><td></td><td></td></tr>')

})

$("#btn2").click(function() {

$("#test tbody").append('<tr><td></td><td></td><td></td></tr>')

})

})

3、效果演示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11931852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存