appendChild类型不匹配问题
我的页面上有两个按纽btn1,btn2.btn1用来生成文本框,btn2将文本框的ID属性的值写入页面中的一个DIV中,但在写入过程中,提示:类型不匹配.代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
<!--
var i=0;
function insertText()
{
i+=1;
var txt=document.createElement("<input type='text' />");
txt.id="txt"+i;
document.body.childNodes[0].appendChild(txt);
}
function listName()
{
var m=document.all["f1"].childNodes.length;
for(var j=0;j<=m;j++)
{
if(document.all["f1"].childNodes[j].type=="text")
{
var txt=document.all["f1"].childNodes[j].id;
[color=Red]document.body.childNodes[0].appendChild(txt);[/color]
}
}
}
//-->
</script>
</HEAD>
<BODY>
<form name="f1">
<input type="button" name="btn1" value="btn1" hideFocus="true" onClick="insertText()" /><br>
<input type="button" name="btn2" value="btn2" onClick="listName()" />
</form>
<div id="div1" style="border:5 solid red;width:100;height:200;position:relative;" contentEditable="true"></div>
</BODY>
</HTML>
for ...
{
txt = txt + document.all["f1"].childNodes[j].id;
}
document.getElementById('div1').innerHTML = txt
appendChild添加的是元素节点而不是属性 #2说的是,而且这个程序 IE only 还是不行啊. 提示:对象不支持此操作.
代码;
function listName()
{
var m=document.all["f1"].childNodes.length;
for(var j=0;j<m;j++)
{
if(document.all["f1"].childNodes[j].type=="text")
{
var txt=document.all["f1"].childNodes[j].id;
document.getElementById("div1").innerHTML(txt);
}
}
}
顺便问一下:你的var txt及txt=txt+是什么意思? document.getElementById("div1").innerHTML = txt;
不是innerHTML(txt);
-- 你的var txt及txt=txt+是什么意思?
没什么意思,我以为你要把所有符合的节点id都连在一起呢 解决了.
感谢.
页:
[1]
