Метод .load()
(как вы видели) загружает ответ непосредственно в указанный элемент, поэтому одним из решений является изменение кода на стороне сервера для вывода только содержимого без #large_buttons сам div.
Другое решение состоит в том, чтобы использовать один из других Ajax-методов , например, .get()
метод , и поместить возвращенный html именно туда, куда вы хотите, в рамках успеха. обработчик:
$.get(site_url+"my_profile", function(data) {
$("#large_buttons").replaceWith(data);
},'html');
(Теоретически вам не нужен последний параметр для указания типа данных, потому что jQuery делает "интеллектуальное предположение", но не помешает явно сказать, что вы ожидаете HTML.)
Метод .replaceWith()
делает именно то, что должен звучать.
РЕДАКТИРОВАТЬ: я только что заметил (как указал Джон), что вы использовали синтаксис .load()
, где вы включаете селектор для какой части возвращаемого HTML, чтобы использовать, так что вы можете просто изменить этот селектор, чтобы взять элементы в ответе, находящиеся внутри #large_buttons div:
$("#large_buttons").load(site_url+"my_profile #large_buttons > *");
Должен работать с вашим примером HTML, где div содержит только другие элементы, а не текстовые узлы.