0

以下のスクリプトでは、DIV の先頭にコードを挿入しています。

    var mydiv = document.getElementById("myDIV");
    var mycontent = document.createElement("p");
    mycontent.insertBefore(document.createTextNode("Hello <b>World</b><br><bR>"));
    mydiv.insertBefore(mycontent,mydiv.firstChild);

私の Web サイトでは、コードはテキストとして挿入され、HTML 形式は無視されます。JavaScriptを使用してDIVにコードを挿入する方法を知っている人はいますか?

4

3 に答える 3

2

タグを挿入することはできません。挿入できるのは DOM ノードのみです。DOM ノードは、テキスト ノードまたは要素ノード (またはほとんど気にしないいくつかの他のノード) にすることができます。

<div></div>挿入はできますが はできないため、この区別は重要です<div>

要素を作成するには:

var myElement = document.createElement('div');

あなたの特定の例:

var myContent = document.createElement('p');
myContent.appendChild(document.createTextNode('Hello'));
var bold = document.createElement('b'); // Please don't use presentational elements in 2012
bold.appendChild(document.createTextNode('World');
myContent.appendChild(bold);
myContent.appendChild(document.createElement('br')); // Please don't use line breaks as margin/padding substitutes
myContent.appendChild(document.createElement('br')); 
mydiv.insertBefore(mycontent,mydiv.firstChild);
于 2012-08-20T06:35:03.400 に答える
1

要素と組み合わせてinnerHTML、簡単な解決策として使用できます。

var mydiv = document.getElementById("myDIV");
var mycontent = document.createElement("p");
mycontent.innerHTML = 'Hello <b>World</b><br><bR>';
mydiv.insertBefore(mycontent, mydiv.firstChild);
于 2012-08-20T06:38:58.970 に答える
0

なぜだめですか

var mydiv = document.getElementById("myDIV");
var mycontent = document.createElement("p");
mycontent.innerHTML = "Hello <b>World</b><br><bR>";
mydiv.insertBefore(mycontent,mydiv.firstChild);​
于 2012-08-20T06:38:46.227 に答える