簡単な質問、私たちは変更の内容を変更できると知っています
<div id="whatEverId">hello one<div>
を使用して:
document.getElementById("whatEverId").innerHTML="hello two";
今、私ができる方法はありますか[〜#〜] add [〜#〜]ものを置き換える代わりにdivに追加しますか?だから私は得ることができます
<div id="whatEverId">hello one hello two<div>
(もちろん同様のものを使用)
<div id="whatever">hello one</div>
<script>
document.getElementById("whatever").innerHTML += " hello two";
</script>
document.getElementById("whatEverId").innerHTML = document.getElementById("whatEverId").innerHTML + "hello two" + document.getElementById("whatEverId").innerHTM ;
Jcomeau_ictxが示唆したのは、innerHTMLを編集する非効率的な方法です。ベンチェリーのPPT http://www.bcherry.net/talks/js-better-faster
正しい方法は、要素をデタッチして変更し、親ノードに追加し直すことです。 https://Gist.github.com/cowboy/938767 このGistのネイティブJavaScriptを使用して要素を切り離します。
element.innerHTML += 'content'
は、input
全体がブラウザによって再解釈されるため、textarea
sとinnerHTML
sをデフォルトの空白状態、クリック解除チェックボックスなどに空にします。
状態を維持する必要がある場合は、新しい要素を作成する必要があります(<span>
例えば)、次のように現在の要素に追加します。
let newElement = 'span'
newElement.innerHTML = 'new text'
document.getElementById('oldElement').appendChild(newElement)
追加する場合は、=を+ =に変更するだけです。
document.getElementById( "whatEverId")。innerHTML + = 'hello two';
プレフィックスを付ける場合
document.getElementById( "whatEverId")。innerHTML = 'hello two' + document.getElementById( "whatEverId")。innerHTML;
この種のことを行うには、jQueryまたはMooToolsのJavaScriptライブラリ/フレームワークを使用することを強くお勧めします。テキストノードだけでなくタグを追加する場合は、DOM createElementまたは前述のライブラリ/フレームワークのいずれかを使用する必要があります。
このようにdiv文字列を追加することでそれを行うことができます。
document.getElementById( 'div_id')。innerHTML + = 'Hello Two';