Следующий код jQuery будет искать контент на внешней странице с помощью селектора id #menu. Но он не потянет родительский элемент, который обертывает контент, а только сам контент...
...
var menus = 'jqmenus/menus.htm';
$.ajax({
url: menus,
dataType: 'html',
success: function(data) {
var $data = $(data);
var data_topmenu = $data.filter("#menu").html();
}
});
...
Как я могу вытащить содержимое и весь элемент, который обертывает содержимое?
Благодарю!
Я думаю, вам нужен element.outerHTML docs @MDN
измените это:
var data_topmenu = $data.filter("#menu").html(); // this gets you the innerHTML
к этому:
var data_topmenu = $data.filter("#menu")[0].outerHTML;
// for target element html with content inside you need to use outerHTML
Использовать JavaScript outerHTML
:
var data_topmenu = $data.filter("#menu")[0].outerHTML;
Поскольку селектор id всегда возвращает один элемент, вам не нужно беспокоиться о элементах 2, 3 и т.д.