ie6如何用js获取动态创建的元素 我做得页面用到了document.createElement("div");来创建按钮之类的 在火狐中运行正常,在ie6中找不到创建的这些对象?? 该用什么方法得到它们???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 w3c规范 ie下不行,看看你的代码 我知道IE6有问题,但是有解决的方法没有啊?? 像下面这个例子,当我创建几个按钮之后,点击dis得到的长度居然撒零,莫名其妙。<html> <head> <title>test</title> <script language="javaScript"> function test() { //document.getElementById("dis").disabled = true; var butt = parent.document.createElement("button"); butt.value = "test"; butt.name = "tt"; document.body.appendChild(butt); } function getButtonName() { var ttt = document.getElementsByName("tt"); alert("ttt = " + ttt.length); } </script> </head> <body> <input type="button" id="dis" value="dis" onclick="getButtonName();"/> <input type="button" value="test" onclick="test();"/> </body></html> var butt = document.createElement('<input type="button" name="tt" value="test">'); // IE下name属性需要直接指定 var butt = document.createElement('<input type="button" name="tt" value="test">'); document.body.appendChild(butt);学习 了 ie下document.getElementsByName("tt");中的tt是元素的id,firefox下是元素的name butt.value = "test";butt.name = "tt";这样写,在ie下被当作了自定义的属性,所以用document.getElementsByName获取不到。像下面这样可以:<html> <head> <title>test</title> <script language="javaScript"> function test() { //document.getElementById("dis").disabled = true; var butt = parent.document.createElement("<input type='button' name='tt' value='test'/>"); // butt.value = "test"; // butt.name = "tt"; document.body.appendChild(butt); } function getButtonName() { var ttt = document.getElementsByName("tt"); alert("ttt = " + ttt.length); } </script> </head> <body> <input type="button" id="dis" value="dis" onclick="getButtonName();"/> <input type="button" value="test" onclick="test();"/> </body></html> lz你在设置name的时候,被IE改成了 submitName。所以,你取不到。你可以用IE8 的开发工具看看修改方案按ls 的就可以了lz还可以看看这篇文章:http://www.w3help.org/zh-cn/causes/SD9006 在ie和firefox下均可用的方法方法:<html> <head> <title>test</title> <script language="javaScript"> function test() { //document.getElementById("dis").disabled = true; var butt = document.createElement("<input>"); butt.setAttribute("type","button"); butt.setAttribute("value","test"); butt.setAttribute("name","tt"); butt.setAttribute("id","tt"); document.body.appendChild(butt); } function getButtonName() { var ttt = document.getElementsByName("tt"); alert("ttt = " + ttt.length); } </script> </head> <body> <input type="button" id="dis" value="dis" onclick="getButtonName();"/> <input type="button" value="test" onclick="test();"/> </body></html> butt.setAttribute("name","tt");也不行,还是会被IE改成 submitName 加多了这句:butt.setAttribute("id","tt");在ie6,firefox3.6.8下均可 name被ie改了?只要id不被改,getElementsByName就可以取到。getElementsByName(sName)中的sName可为name 属性值或 id 属性,但name属性不能为自定义的,name属性必须是元素自身有的 还是不太明白最后怎么解决的这个submitName ,现在用 document.getElementsByName() 获取不到 JQuery如何获取TreeView中的CheckBox选中项的值? jQuery 子元素事件继承问题? IE7中iframe的问题 请教javascript中是否有goto语句? 如何点击图片后隐藏某框架? jquery 二维数组多条件排序 我要在javascript脚本里面执行一个 jsp文件,可以吗? 怎样取得 Table/Tr/Td 里面的内容? 需要在JS中修改form的action属性,但form里面有个控件也叫action,怎么处理? document.body.removeChild(f); 不支持此接口 一数组 中 对象属性值 相同的 合并? jquery捕获鼠标移动
像下面这个例子,当我创建几个按钮之后,点击dis得到的长度居然撒零,莫名其妙。
<html>
<head>
<title>test</title>
<script language="javaScript">
function test()
{
//document.getElementById("dis").disabled = true;
var butt = parent.document.createElement("button");
butt.value = "test";
butt.name = "tt";
document.body.appendChild(butt);
}
function getButtonName()
{
var ttt = document.getElementsByName("tt");
alert("ttt = " + ttt.length);
}
</script>
</head>
<body>
<input type="button" id="dis" value="dis" onclick="getButtonName();"/>
<input type="button" value="test" onclick="test();"/>
</body>
</html>
var butt = document.createElement('<input type="button" name="tt" value="test">'); // IE下name属性需要直接指定
document.body.appendChild(butt);
学习 了
butt.name = "tt";
这样写,在ie下被当作了自定义的属性,所以用document.getElementsByName获取不到。像下面这样可以:
<html>
<head>
<title>test</title>
<script language="javaScript">
function test()
{
//document.getElementById("dis").disabled = true;
var butt = parent.document.createElement("<input type='button' name='tt' value='test'/>");
// butt.value = "test";
// butt.name = "tt";
document.body.appendChild(butt);
}
function getButtonName()
{
var ttt = document.getElementsByName("tt");
alert("ttt = " + ttt.length);
}
</script>
</head>
<body>
<input type="button" id="dis" value="dis" onclick="getButtonName();"/>
<input type="button" value="test" onclick="test();"/>
</body>
</html>
你可以用IE8 的开发工具看看
修改方案按ls 的就可以了
lz还可以看看这篇文章:http://www.w3help.org/zh-cn/causes/SD9006
<html>
<head>
<title>test</title>
<script language="javaScript">
function test()
{
//document.getElementById("dis").disabled = true;
var butt = document.createElement("<input>");
butt.setAttribute("type","button");
butt.setAttribute("value","test");
butt.setAttribute("name","tt");
butt.setAttribute("id","tt");
document.body.appendChild(butt);
}
function getButtonName()
{
var ttt = document.getElementsByName("tt");
alert("ttt = " + ttt.length);
}
</script>
</head>
<body>
<input type="button" id="dis" value="dis" onclick="getButtonName();"/>
<input type="button" value="test" onclick="test();"/>
</body>
</html>
在ie6,firefox3.6.8下均可
只要id不被改,getElementsByName就可以取到。
getElementsByName(sName)中的sName可为name 属性值或 id 属性,但name属性不能为自定义的,name属性必须是元素自身有的