Я думаю, что вы получаете случайное вложение, которое проявляется как визуальное смещение. От прекрасное руководство :
$('#result').load('ajax/test.html #container');
Когда этот метод выполняется, он извлекает содержимое ajax/test.html
, но затем jQuery анализирует возвращенный документ, чтобы найти элемент с идентификатором контейнера. Этот элемент вместе с его содержимым вставляется в элемент с идентификатором результата, а остальная часть извлеченного документа отбрасывается.
Итак, когда вы сделаете это:
$('#randomdiv').load('somepage.html #randomdiv');
Вы получите эту структуру в своем HTML:
<div id="randomdiv">
<div id="randomdiv">
whatever was in somepage.html's #randomdiv
</div>
</div>
когда вы, вероятно, ожидаете этого:
<div id="randomdiv">
whatever was in somepage.html's #randomdiv
</div>
Возможно, вам просто нужно немного реструктурировать HTML, чтобы иметь внешний элемент контейнера, скажем, #container
, который ожидает вставки в него #randomdiv
:
<div id="container">
<div id="randomdiv">
...
А затем сделайте $('#container').load('somepage.html #randomdiv')
, чтобы положить в него вещи.