在下面的代码行中出现错误:
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中出现问题。请告诉我这段代码有什么问题?
答案 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];
}