背景: 作成中のプラグインの一部である WordPress 3.4.2 のカスタム管理ページを編集しています。
私の HTML には、変数の存在をチェックし、値がある場合は出力する PHP コードの小さなスニペットがあります。
<div id='ajax-response'>
<?php
if(isset($_infos) && !empty($_infos)){
echo $_infos;
}
?>
</div>
ただし、変数に値があることを意味する方法でページが実行される場合、出力は実際にはその #ajax-response 内ではなく、次の<div>
ようにそのすぐ上にあります。
<div id="message" class="updated fade"><p>Download display details updated.</p></div>
<div id='ajax-response'></div>
#ajax-response の要点は<div>
、ページ自体と AJAX 呼び出しの両方から提供されたすべてのフィードバックを含めることです。そのため、それらはすべてまとめて同じスタイルで表示され、すべてページから簡単に削除できます。かなり迷惑です。
<div>
最も奇妙な点は、ソースを表示すると、あるべきように#ajax-response 内にあることですが、Chrome のインスペクターで Javascript によって参照されると、 <div>
.
なぜこれが起こっているのですか?