IE9中的Javascript错误: - SCRIPT5022:DOM异常:INVALID_CHARACTER_ERR(5)

时间:2012-07-26 16:53:06

标签: javascript internet-explorer-9

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

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中出现问题。请告诉我这段代码有什么问题?

1 个答案:

答案 0 :(得分:2)

您的代码出现问题的主要原因是您显然从未阅读document.createElement()的文档(例如here)。

它说(强调我的):

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];
}