0

m 在下面的代码行中出现错误:

var input2 = document.createElement('<input name=\'password\' type=\'password\' id=\'password\' onblur=\'checkCopy(this)\' onkeyup=\'return handleEnterSubmission(this.form,event)\'  maxlength=\'16\' autocomplete=\'off\' onfocusin=\'checkValue(this.value, this.id);setMarginInIE();\' />');

它在 IE8 中运行良好,但在 IE9 中出现问题。请告诉我这段代码有什么问题?

4

1 回答 1

2

您的代码的主要问题是您显然从未阅读过document.createElement()(例如此处)的文档。

它说(强调我的):

var element = document.createElement(tagName);
  • element是创建的元素对象。
  • tagName是一个字符串,它指定要创建的元素的类型。所创建元素的 nodeName 用 tagName 的值初始化。

您不能将完整的 HTML 字符串传递给createElement. 您可以传递标签名称:

var input2 = document.createElement('INPUT');

要创建完整的 HTML 块,请使用以下命令:

function createElementFromHTML(html) {
  var temp = document.createElement('DIV');
  temp.innerHTML = html;
  return temp.childNodes[0];
}
于 2012-07-26T16:59:24.380 回答