2017-12-13 15 views
0

私はあるテキストと子divを持つdivを持っています。外側のdivテキストを更新して、子divを保持したいと思います。子ノードを削除しないでinnerTextを更新します。

<div class="outer"> 
    some text here 
<div class="arrow-down"></div> 
</div> 

outer.innerText = "foo"矢印ダウン要素が削除されました。どうすればこの問題を回避できますか?

おかげ

+0

例えば、要素内のテキストを入れてスパンして編集しますか? – DBS

+0

外側のdivの最初の子として 'span'要素を使用し、それにIDを割り当て、テキストを更新するときにspan要素をターゲットにします。子divですか? –

+0

答えて

1

は、span要素などの子要素を作成し、その内部で変更したいテキストを配置します。

その後、あなたはJavaScriptでとても似ていること更新することができます。

var el = document.getElementById('inner'); 
 
el.innerText = 'some different text';
<div class="outer"> 
 
    <span id="inner">some text here</span> 
 
    <div class="arrow-down"></div> 
 
</div>

+0

ありがとう、私はこれを唯一のオプションであると思われますので、これを実行します – jj1111

+0

必ずしも唯一の選択肢ではありません。たとえば、divのinnerHTMLプロパティからHTMLを解析し、正規表現を使用して新しいテキストをスワップすることもできますが、これは難しく、柔軟性が低くなります。追加のスパンを使用してテキストを区切ると、スパンとその兄弟タグの間の一意のスタイルなど、より多くのオプションが表示されるので、常により優れています。 –

関連する問題