如何使用jQuery将行添加到表中?
嗨我试图添加一行使用jQuery的表,但它不工作。
可能是什么原因?
而且,我可以为新添加的行赋予一些价值吗?
代码如下:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$('a').click(function() {
$('#myTable').childs('tr').append('<tr class="child"><td>blahblah</td></tr>');
});
</script>
<title></title>
</head>
<body>
<a href="">Link</a>
<table id="myTable">
<tbody>
<tr>
<td>
test
</td>
</tr>
</tbody>
</table>
</body>
</html>
我假设你想将这一行添加到<tbody>
元素,并且简单地在<table>
上使用append()
会将<tr>
插入<tbody>
,这可能会导致不良结果。
$('a').click(function() {
$('#myTable tbody').append('<tr class="child"><td>blahblah</td></tr>');
});
编辑:这是完整的源代码,它确实工作:(注意$(document).ready(function(){});
它以前不存在。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('a').click(function() {
$('#myTable tbody').append('<tr class="child"><td>blahblah</td></tr>');
});
});
</script>
<title></title>
</head>
<body>
<a href="javascript:void(0);">Link</a>
<table id="myTable">
<tbody>
<tr>
<td>test</td>
</tr>
</tbody>
</table>
</body>
</html>
以下代码有效
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function AddRow()
{
$('#myTable').append('<tr><td>test 2</td></tr>')
}
</script>
<title></title>
</head>
<body>
<input type="button" id="btnAdd" onclick="AddRow()"/>
<a href="">test</a>
<table id="myTable">
<tbody >
<tr>
<td>
test
</td>
</tr>
</tbody>
</table>
</body>
</html>
注意,即使表包含一个<tbody>
元素,它也可以用于jQuery 1.4:
从版本1.4(?)开始,jQuery自动检测您尝试插入的元素(使用append(),prepend(),before()或after()方法中的任何一个)是否为<tr>
,并将其插入到在你的表中第一个<tbody>
或者将它包装成一个新的<tbody>
如果它不存在的话。
也许这是你正在寻找的答案。 它找到<tr />
的最后一个实例并在它之后追加新行:
<script type="text/javascript">
$('a').click(function() {
$('#myTable tr:last').after('<tr class="child"><td>blahblah</td></tr>');
});
</script>
链接地址: http://www.djcxy.com/p/22975.html