<html> <head> <title>动态添加html元素</title> <script type="text/javascript"> </script> <style type="text/css"> </style> </head> <body> <form method="get" action="./" id="myForm"> </form>
问题所属方面: <select name="select" size="1" id=""> <option value="1">问题一</option> <option value="2">问题二</option> </select> 问题描述1:<textarea name="txt1" rows="3" cols="80"><input type="button" value="添加一个问题"> <input type="button" value="删除最后一个问题">
<input type="Submit" value="保存">
我想用javascript动态增加行,当form中没有table标签时是可以增加的,像上面增加了table标签就出现错误了,请问各位该如何解决?
由于form.insertBefore是将指定节点添加到form的直接子节点上,由于form中只有一个table,没有afterElement这个直接子节点.所以会报错.
input标签的parentNode即p标签,它的直接父结点是TBODY标签.所以只能用TBodyElement.insertBefore.进行插入.
把[code="js"]
form.insertBefore(label2,afterElement);
form.insertBefore(label1,afterElement);[/code]
两句改为:[code="js"]
afterElement.parentNode.insertBefore(label2,afterElement);
afterElement.parentNode.insertBefore(label1,afterElement);[/code]
就可以了.
table
tbody之类的元素不能直接改变innerHTML
故使用insertBefore之类的语句会报错。
直接获取table元素操作table的row和cell即可。
[code="java"]
问题所属方面: 问题一问题二 问题描述1: |
[/code]