js中点击按钮时自动增加一行

JavaScript013

js中点击按钮时自动增加一行,第1张

1、新建一个html文件,命名为test.html。

2、在test.html文件里,创建一个button按钮,并设置其id属性为dz,用于下面获得按钮对象,实现js点击按钮事件。

3、给button绑定点击事件,当按钮被点击时,执行hs()函数。

4、在test.html文件的js标签内,定义hs()函数,在函数内使用alert() 方法弹出"我被点击了"的内容。

5、在js内,使用window对象中的onload事件,当网页加载完时,执行function函数。

6、在function函数内,通过getElementById()方法获得按钮对象,使用click()方法点击按钮。

7、在浏览器打开test.html文件,当打开网页时,js自动执行点击事件。

因为ie的兼容性问题(table节点下没法添加tr节点),原表格必须在table节点下有tbody节点,所有的tr节点都是在tbody节点之下。

当我们要添加行的时候,创建tr节点,然后添加到tbody节点之下,再创建对应的td节点,添加到tr节点之下就行了。

测试代码如下:

<table>

<tbody id="myTableBody">

<tr>

<td>第一行</td>

</tr>

<tr>

<td>第二行</td>

</tr>

</tbody>

</table>

<input type="button" value="追加行" onclick="appendRow()" />

<script type="text/javascript">

function appendRow() {

var tableBody = document.getElementById('myTableBody')

var newRow = document.createElement('tr')

tableBody.appendChild(newRow)

var td = document.createElement('td')

td.innerHTML = '新行'

newRow.appendChild(td)

}

另外楼下提到的insertRow也可以 不过要注意加上参数-1, 这样才可以兼容Firefox。但是insertCell就显得不怎么好用了,因为用insertCell生成的td是没法用innerHTML赋值的

给你个简单的示例吧

<body>

<table id="tab">

<tr><td>0</td></tr>

<tr id="x"><td>1 在此行下插入新行</td></tr>

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

</table><br>

<input type="button" onclick="javascript:instTR()" value="插入行">

<script type="text/javascript">

function instTR(){

var tab=document.getElementById('tab')

var n=document.getElementById('x').rowIndex+1

var tr=tab.insertRow(n)

var td=tr.insertCell(0)

td.innerHTML='new '+Math.random()

}

</script>

</body>