0

のようなDoctype宣言を入れると<!DOCTYPE html >、appendChildが機能しません。なぜですか。

<form>
<script language="javascript">
    function function2() {
        var myElement = document.createElement('<div style="width:600; height:200;background-color:blue;">www.java2s.com</div>');
        document.forms[0].appendChild(myElement);
    } 
</script>


<button onclick="function2();"></button>

</form>

ポップアップウィンドウの親オープナーからデータを取得しようとしています...それは可能ですか?データは、文字列リテラルまたはjQuery .data()を使用してDOMに関連付けられた値にすることができます。

4

1 に答える 1

1

IE でこの問題が発生している場合は、おそらく DOCTYPE 宣言が存在するためにブラウザが強制的に「標準準拠」モードになっていることが原因です。これにより、予想される標準に準拠していないコードが破損する可能性があります。

あなたの場合、それはおそらくdocument.createElementHTML フラグメントを受け入れないためです。たとえば、要素名を受け入れますdocument.createElement('div')

関数本体を次のように置き換えてみてください。

var myElement = document.createElement('div');
myElement.style.width = '600px';
myElement.style.height = '200px';
myElement.style.backgroundColor = 'blue';
myElement.appendChild(document.createTextNode('www.java2s.com'));
document.forms[0].appendChild(myElement);

ドキュメント オブジェクト モデルについては、https ://developer.mozilla.org/en/DOM を参照してください。

また、jQueryは、指定した構文を使用して要素を簡単に作成するのにも適しています。

于 2010-07-09T03:59:24.990 に答える