8

これは単純なはずですが、そうではありません。

document.getElementsByTagName('body')[0].document.createTextNode( document.createElement('<div>some HTML</div>') );

テキストノードとして作成します。jQuery を使わずに HTML を追加するにはどうすればよいですか?

4

4 に答える 4

17

閉じますが、葉巻はありません。要素を手動で ( 経由でcreateElement)作成し、次のよう追加する必要があります。

var div = document.createElement("div");
div.innerHTML = "some HTML";
document.getElementsByTagName('body')[0].appendChild(div);

innerHTML残念ながら、要素のプロパティを設定する関数がないため、ワンライナーでこれを行うことはできません。つまり、要素はチェーン可能ではありません。ただし、少し準備すれば、これを可能にすることができます。

function setInnerHTML(element, content) {
    element.innerHTML = content;
    return element;
} 

document.getElementsByTagName('body')[0].appendChild(setInnerHTML(document.createElement("div"), "some HTML"));
于 2013-04-17T15:14:29.810 に答える
1

多くの方法があります:

elem.innerHTML = ''   // fast
elem.appendChild()    
elem.insertAdjacentElement()  //fast    
elem.insertAdjacentHTML()
elem.insertAdjacentText()
于 2013-04-17T15:22:35.323 に答える
0
document.body.innerHTML+=document.createElement('div').outerHTML;
于 2016-12-12T15:45:47.287 に答える