我在body上加了一个按钮察看innerHTML,发现原来的两个radio的name也被改编了。统统变成了radio1
解决方案 »
- 为何我访问不了父页面的父页面?
- 动态生成了多个文本框以后,输入ID和名称后如何向后台发送交易呀,我就是想在点查询的时候往后台传送对用的当前ID和名称这两个字段的值,请各位指导一下呀,在线等...
- 50分求个函数
- 为什么同一个控件,有时可用,用时又说“未定义”的呢?
- 请帮我解释一下这段代码 谢谢
- 请问如何按一个按钮来改变一个 SRC= 后面的图片名
- 怎样设置字体(如宋体)?如果系统可能没有的字体怎么办?
- 请问怎样取得在一个键盘按键事件中用户按下的键的ascII码值??
- 求教:怎样捕捉F1,CTRL等键?
- three.js 导入模型怎么变水平,哪里的问题,求解答
- 关于显示的问题,请各位赐教
- 高分求一个浮动的计时器,本人要做个在线考试系统。
我怀疑对象的层次关系有误,修改名字并没有成功。
看帮助,没看明白。
var baseNode = table1.childNodes[0];//得到的是第一行吗?
cloneNode.children[0].children[0].children[0].name
那位大虾能解释一下层次关系?
虽然alert出来的name值是正确的,
但是当点击radio时,还是发现它们之间相互影响,
而并不像想象中的那样分组
楼主能不能先教教我,
(1)cloneNode:
(2)cloneNode.children[0]:
(3)cloneNode.children[0].children[1].
(4)cloneNode.children[0].children[1].children[0]
以上四个表达式是什么东西呀?我会另开贴子相谢,也欢迎其他大虾指点。
而是直接复制html,
然后通过设置name属性来改变,
我用alert看到name是正常的(是自己想要的),
但是去操作radio的时候又像没改变一样。
你可以去查一下MSDN,
或者在google搜索 dhtml cloneNode 找到微软网站上相应的帮组也行。
比如如果当前对象为table的话,那么其children便是tr了。。
如果说cloneNode是行的画,怎么会有这么多的层次,
行之后不就是单元格勒吗?
cloneNode.children[0]:它是什么?
呼唤大虾!!!
Retrieves a collection of HTML Elements and TextNode objects that are direct descendants of the specified objectbaseNode.children[0](.id)才代表行(我能得到行的id).
我关于alert与innerHTML的纯属谬论,那名字究竟改了没有,我右不知道了。
应次不推荐用脚本改name,你是clone的,试试看create
var mm = document.createElement("<input type=radio name=abc>");
用这种方式产生的控件name才是有效的.
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<p>
<input type="button" onclick="addrow()" value="ADD ROW">
</p>
<table id="table1">
<tr>
<td><input type="radio" name="radio1">Yes</td><td><input type="radio" name="radio1">No</td>
</tr>
</table></BODY>
</HTML>
<script>
var i = 1;
function addrow(){
var baseNode = table1.childNodes[0];
var cloneNode = baseNode.cloneNode(true);
i++;
//输出修改前的名字
alert("Before change name1 : " + cloneNode.children[0].children[0].children[0].name)
alert("Before change name2 : " + cloneNode.children[0].children[1].children[0].name)
cloneNode.children[0].children[0].children[0].outerHTML="<input name='radio"+i+"' aaaaaaa="+cloneNode.children[0].children[0].children[0].outerHTML;
cloneNode.children[0].children[1].children[0].outerHTML="<input name='radio"+i+"' aaaaaaa="+cloneNode.children[0].children[1].children[0].outerHTML;
//输出修改后的名字
alert("After change name1 : " + cloneNode.children[0].children[0].children[0].name)
alert("After change name2 : " + cloneNode.children[0].children[1].children[0].name)table1.appendChild(cloneNode);
}
</script>
唉,后来我也是被迫用这种方法的。
通过查找name,然后替换字符串