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()(たとえば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];
}
于 2012-07-26T16:59:24.380 に答える