jQuery - Как загрузить родительский элемент и контент через ajax

0

Следующий код 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();
      }
 });
 ...

Как я могу вытащить содержимое и весь элемент, который обертывает содержимое?

Благодарю!

Теги:

2 ответа

1
Лучший ответ

Я думаю, вам нужен 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
  • 0
    Спасибо, Джай, пока все хорошо.
  • 0
    @blackhawk пожалуйста. Рад, что это помогло.
1

Использовать JavaScript outerHTML:

var data_topmenu = $data.filter("#menu")[0].outerHTML;

Поскольку селектор id всегда возвращает один элемент, вам не нужно беспокоиться о элементах 2, 3 и т.д.

  • 0
    Спасибо user3558931, пока все хорошо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню