<div>
のようなHTML要素がある場合や、この要素の前または後に別の要素を追加することはできますか?HTML要素の前または後にテキストを追加する
純粋なJavascriptのみを使用したいと思います。以下のような
何か:
<div id="parentDiv">
my text must be added here
<div id="childDiv"></div>
</div>
<div>
のようなHTML要素がある場合や、この要素の前または後に別の要素を追加することはできますか?HTML要素の前または後にテキストを追加する
純粋なJavascriptのみを使用したいと思います。以下のような
何か:
<div id="parentDiv">
my text must be added here
<div id="childDiv"></div>
</div>
はい、あなたは、あなたがのappendChildかのinsertBeforeと、要素のようにそれを挿入することができdocument.createTextNode('the text')
とテキストノードを作成することができます。 #childDivの前にテキストを挿入
例:
var text = document.createTextNode('the text');
var child = document.getElementById('childDiv');
child.parentNode.insertBefore(text, child);
あなたはテキストノードを追加することができます。ノード - document.createTextNode('text')
を作成して、/ append/replaceを挿入します。必要な操作を行います。
このようなものは、それを行う必要があります。
<script type="text/javascript">
var parent = document.getElementById('parentDiv');
var sibling = document.getElementById('childDiv');
var text = document.createTextNode('new text');
parent.insertBefore(text, sibling);
</script>
念のために:
div
はあなたです
div.insertAdjacentHTML('beforeBegin', yourText);
子供 - DIV。 childTagがない場合
var text = document.createTextNode("my text must be added here.");
var childTag = document.getElementById("childDiv");
childTag.parentNode.insertBefore(text, childTag.nextSibling);
:
ライブデモ:前または後にトピックに関して、ユーザーにhttp://jsfiddle.net/ZkzDk/
また、後に追加することもできます。 div.insertAdjacentHTML( 'afterEnd'、 '後にテキストが追加されました'); あなたはそれを削除できるかどうか知っていますか? (クラスやIDを使わずに) – tkerwood
@tkerwood確かに。その* Text *ノードへの参照を取得し、(その親で) '.removeChild()'メソッドを使用する必要があります。 –
を挿入するための質問は、ここでは後の例ですinsertBeforeメソッドがこのケースを処理し、それを最後の子として追加するだけなので、大丈夫です。
また、テキストノードを作成した後にappendChild()メソッドを使用し、parentNode経由でchildTagを追加することもできます。
「insertAdjacentText」または「insertAdjacentHTML」メソッドを試すこともできます。https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML –