46

<section>HTMLに多くの情報があり、 <body>JavaScriptを使用してさらに追加したいと考えています。ただし、を使用するinnerHTMLことは、古いセクションに追加するのではなく、既存のセクションを新しいセクションに置き換えることです。

他に何を使用できますか?

4

11 に答える 11

56

使用できます

document.getElementById("parentID").appendChild(/*..your content created using DOM methods..*/)

また

document.getElementById("parentID").innerHTML+= "new content"
于 2012-11-21T14:07:26.083 に答える
24

いくつかのパフォーマンス統計が含まれている、この質問ソリューションに似たものに出くわしました。

以下の例の方が速いようです。

document.getElementById('container').insertAdjacentHTML('beforeend', '<div id="idChild"> content html </div>');

InnerHTML vs jQuery 1 vs appendChildvsinnerAdjecentHTML。

ここに画像の説明を入力してください

参照:1)パフォーマンス統計 2)API-insertAdjacentHTML

これがお役に立てば幸いです。

于 2018-07-22T19:33:39.693 に答える
20

コンテンツを本文に直接追加したい場合、最善の方法は次のとおりです。

document.body.innerHTML += "bla bla";

交換するには、次を使用します。

document.body.innerHTML = "bla bla";
于 2015-01-16T10:30:50.687 に答える
14

次の構文を試してください。

document.body.innerHTML += "<p>My new content</p>";
于 2017-08-03T11:28:41.257 に答える
5

おそらく使用しています

document.getElementById('element').innerHTML = "New content"

代わりにこれを試してください:

document.getElementById('element').innerHTML += "New content"

または、できれば、DOM 操作を使用します。

document.getElementById('element').appendChild(document.createElement("div"))

単に文字列をドキュメントにダンプするinnerHTMLため、を使用するよりもDom操作の方が適しています。innerHTMLブラウザは、ドキュメント全体を再解析して構造を取得する必要があります。

于 2012-11-21T14:11:35.783 に答える
3

作業デモ:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
onload = function(){
var divg = document.createElement("div");
divg.appendChild(document.createTextNode("New DIV"));
document.body.appendChild(divg);
};
</script>
</head>
<body>

</body>
</html>
于 2018-10-31T12:00:11.963 に答える
2

ほとんどのブラウザでは、を使用する代わりにjavascript変数を使用できますdocument.getElementById。HTML本文のコンテンツが次のようになっているとします。

<section id="mySection"> Hello </section>

mySection次に、javascriptで変数として参照できます。

mySection.innerText += ', world'
// same as: document.getElementById('mySection').innerText += ', world'

このスニペットを参照してください:

mySection.innerText += ', world!'
<section id="mySection"> Hello </section>

于 2017-08-03T15:23:09.760 に答える
0

ただ:

    document.getElementById('myDiv').innerHTMl += "New Content";
于 2012-11-21T14:07:56.930 に答える
0

最近、同じ問題に直面しましたが、本文のコンテンツの最初にコンテンツを追加したいと思いました。だから私はこの解決策が価値があると思いました:insertAdjecentHTML(positions, text)位置を指定しながら使用します。位置は、、、、のいずれか'beforebegin'です。'afterbegin''beforeend''afterend'

const element = document.getElementById('my-id')

element.insertAdjacentHTML(position, text);
于 2021-03-21T18:32:08.357 に答える
0

あなたもこのようにすることができます

document.querySelector("#yourid").append('<div>my element<div>');
于 2021-04-13T20:15:52.470 に答える
0
document.querySelector('body').appendChild( //your content )
于 2021-08-28T05:11:06.617 に答える