Webページで閉じることができる動的ボックスを作成していて、 'onclick'機能を持つdivの場合はhtmlを変更しています。しかし、DOMを使ってコードを変更すると、それを変更している文字列が魔法のように変更されて誤って入力されてしまい、動作しなくなってしまいます。DOMを使用してHTMLタグに追加すると文字列が変更される理由
私は何を意味するかを示すためにコードを単純化しました。
<head>
</head>
<body>
<div id="test"></div>
<script>
document.getElementById('test').innerHTML = '<a onclick="document.getElementById("MYdiv").remove()">Close</a>'
</script>
</body>
私はmydiv
にMYdiv
変更、これを実行し、フロントにスペースを追加します。この問題を解決するために、文字列"MYdiv"
を\'MYdiv\'
に変更しましたが、すべてがうまくいくようですが、最初の方法が機能しなかった理由を知りたいと思います。あなたが知っている場合、または私は何かが不足している場合は私に教えてください!
ありがとうございます! PSは現在クロムについてテスト中です。
あなたがエスケープしない限り、矛盾する引用符があります。 – rlemon
http://stackoverflow.com/questions/7753448/how-do-i-escape-quotes-in-html-attribute-values –