【js】prependで挿入したタグがそのまま出力される
-
絞り込み検索でチェックしているものを別枠に即表示させたい
で相談して動くようになったjsにつての質問です。いくつかの改造を追加して、jsの中にこういう記述をしています。
var $post_tag_language = document.getElementsByClassName("post_tag_language"); var $Output_language = document.getElementById( "Output_language" ); if (($post_tag_language != null) && ($Output_language != null)) { $Output_language.innerHTML = ''; for(var $i = 0; $i<$post_tag_language.length;$i++) { if($post_tag_language[$i].checked) { $Output_language.innerHTML += $post_tag_language[$i].value + ' '; }else{ //何もしない } } if ($Output_language.innerHTML != '') { $Output_language.prepend("<h3>Here!</h3>");}//出力先に文字があれば表示 }この最後のところにある
$Output_language.prepend("<h3>Here!</h3>");なんですが、
希望のタイミングで希望の場所にHere!の文字を出すことはできたのですが、
<h3>タグが適用されず、プレーンテキストとして<h3>Here!</h3>というテキストが挿入されてしまいます。chromeのデベロッパーツールで調べたら下記のコードになっていました。(japanese englishは
$Output_language.innerHTML += $post_tag_language[$i].value + ' ';で自動挿入されたテキストです。)<span id="Output_language"> "<h3>Here!</h3>" "japanese english " </span>質問1.
<h3>をテキストではなくタグとして扱うにはどう書き換えればいいでしょうか?質問2
<div> <h3>Here!</h3> <span id="Output_language"> "japanese english " </span> </div>という風に、
<span id="Output_language"></span>を<div>で囲いつつ、<span>の前に<h3>を挿入したいです。
$Output_language.wrap("<div>");と書くと$Output_language.wrap is not a functionのエラーが吐き出されます。<h3>の挿入についてはそれほど重要ではないのですが、
<span>を<div>で囲うのは実装したいです。どう記述すればいいでしょうか?
トピック「【js】prependで挿入したタグがそのまま出力される」には新たに返信することはできません。