js的appendChild()的问题

var input_txt = document.createElement("input"); input_txt.type = "text"; input_txt.name = "tmp"; form.appendChild(input_txt);
这里设置的input的name为tmp,但是编译出来的网页变成了submitName,

请问怎么能设置成<input name="tmp" 这样的形式。

这是IE的问题


第一种解决方法,判断浏览器使用不同的方法创建

// 返回IE版本,如果不是IE返回false
function isIE () {
  var myNav = navigator.userAgent.toLowerCase();
  return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
}

var input_txt;
var ie = isIE();
if (ie === false || ie > 7) { // 非IE或IE版本大于7
    input_txt = document.createElement("input");
    input_txt.name = "tmp";
} else { // IE7或以下
    input_txt = document.createElement("<input name='tmp'>");
}
input_txt.type = "text";
form.appendChild(input_txt);


第二种方法,使用innerHTML

      // 先创建一个容器。这里使用div
      var oDiv = document.createElement("div");
      // 用innerHTML创建input
      oDiv.innerHTML = '<input type="text" name="tmp" >';
      // 获取input
      var input_txt = oDiv.getElementsByTagName('input');
      // 加到form里
      form.appendChild(input_txt);

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-16
用setAttribute试试
第2个回答  2013-10-16
只有一种可能, 你看错标签了。你看到的不是你appendChild那一个

js的appendChild()的问题
这是IE的问题 第一种解决方法,判断浏览器使用不同的方法创建 \/\/ 返回IE版本,如果不是IE返回falsefunction isIE () { var myNav = navigator.userAgent.toLowerCase(); return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;}var input_txt;var ie = ...

js里appendChild 方法为什么把原先的元素直接挪动到另一个元素了不是...
appendChild() 方法可向节点的子节点列表的末尾添加新的子节点。提示:如果文档树中已经存在了 newchild,它将从文档树中删除,然后重新插入它的新位置。如果 newchild 是 DocumentFragment 节点,则不会直接插入它,而是把它的子节点按序插入当前节点的 childNodes[] 数组的末尾。你可以使用 appendChild()...

一个简单的JS问题,appendChild()
var li=document.createElement('li');li.innerHTML="第一";document.getElementById('emp').appendChild(li);

js中appendchild 的问题
代码从上向下解析,解析的过程中执行js,当你js执行的时候发现还没有id为box的div存在 所以将 这行代码放到script前面,这样js在执行的时候就可以获得id为box的div了

JS 中的appendChild()方法动态添加控件,不刷新时实现了添加,刷新后就还...
首先,你需要明白两个问题:第一,js浏览器端脚本,执行在服务端内容响应成功之后,它的appendChild方法,只是在浏览器中进行了操作,并未向服务器发送保存请求(命令);第二,当你刷新页面的时候,你实际上是通过浏览器向服务器发送了一个请求,而当请求完成后你看到的界面是从服务端返回来的,并不是...

JavaScript中的appendChild方法为什么不能实时反映在网页上呢?_百度知 ...
这是因为(mainCenter.firstChild)是个空的!虽然看不到,但是存在 mainCenter.firstElementChild才是你想要的!ie就没这个烦恼,呵呵!

js中 appendchild是添加到一个容器的后面,如何插入到前面
function prependChild(parent,newChild){ if(parent.firstChild){ parent.insertBefore(newChild,parent.firstChild);} else { parent.appendChild(newChild);} return parent;} 像这样,使用insertBefore方法即可

js中appendChild方法能重写吗?
当然可以啊: for(var i=0;i<10;i++){ var child=document.createElement("span");child.innerHTML=i+1;test.appendChild(child);} 关键在于每次重写的子元素都要重新生成,而不能够把同一个元素修改后添加,否则最终只有一个子元素被添加。

关于前端JSfor循环中appenChild的问题
首先你的选择器代码写错了,少了一个s 其次你没写在scrip标签内 再其次就算运行起来性能太低 再再其次.style.display = "block"是个多余的代码 var divlist = document.querySelectorAll("div");for(var i = 0;i<divlist.length;i++){ divlist[i].innerHTML = "添加到购物车"} ...

关于JS中appendChild的用法
\/\/ 创建p节点var para=document.createElement("p");\/\/ 创建文本节点var node=document.createTextNode("这是新段落。");\/\/ 把文本节点添加到p节点里para.appendChild(node);\/\/ 查找div1var element=document.getElementById("div1");\/\/ 把p节点添加到div1里element.appendChild(para);\/\/ 最终...

相似回答