MW211 EXIT

devlog
jQuery/Ajax入門(2)前回の訂正
2011年11月30日
自分で自分の一部をリロードする場合、以下のようにと書いたが認識が間違っていた。
┌──────────────────────────────────────┐
│$("#ajax").load("index.php #ajax");                                         │
└──────────────────────────────────────┘

入力側(右の#ajax)はそれ自身を示すが、出力側(左の#ajax)はそれ自身にではなく
それの中身つまり内側に出力するように指示する命令なのだ

つまり、リロードを繰り返していくと、以下のようなイメージとなり
入れ子が重なりブラウザがおかしくなってしまう。
┌──────────────────────────────────────┐
│<div id="ajax">                                                             │
│  <div id="ajax">                                                           │
│    <div id="ajax">                                                         │
│      <div id="ajax">                                                       │
│        :                                                                  │
└──────────────────────────────────────┘

なので、以下のように初期状態で段差をつけて定義してあげて…。
┌──────────────────────────────────────┐
│<div id="ajax_in">                                                          │
│  <div id="ajax_out">                                                       │
└──────────────────────────────────────┘
以下のように、出力側(左)が入力側(右)より一段上になるようしてあげねばならない。
┌──────────────────────────────────────┐
│$("#ajax_in").load("index.php #ajax_out");                                  │
└──────────────────────────────────────┘
こうすれば「#ajax_in」の一段下、つまり「#ajax_out」に
「#ajax_out」が上書されるので想定通りとなる。
分類:jQuery