ただの作法ミスで、ちょっと詰まったので、今後のことを考えて、解決方法をメモしておきたいと思います。 appendを使ってタグを追加したところ、htmlのタグにならず、特殊文字用にエスケープされてしまう件で解決したのでメモ

※ソースがちょっと間違ってたので修正しました(関数名が違う)

<div onmouseover="add_data(this)">
</div>

<script>
function add_data(obj){ 
obj.append('<p>test</p>'); }
</script>

としていたら、文字列として表示されるように自動でエスケープされて追加されたのだ。

objに$で囲んでいなかったら、自動でエスケープされるらしい。

よって、以下に修正したら、無事に正常にタグとして追加されました

<div onmouseover="add_data(this)">
</div>

<script>
function add_data(obj){ 
$(obj).append('<p>test</p>'); }
</script>

慣れてないと、なかなか原因の特定に苦戦しますね。。

コメント