Получите сырые данные HTML узла в JQuery

Я использовал $("#parent").html() получить внутренний HTML #parent, но как я получаю HTML самого родителя?

Вариант использования, я захватываю входной узел как это:

var field = $('input');

Я хотел бы смочь получить необработанный HTML того узла (<input type='text'>) с чем-то как field.html(), но это возвращается пустой. Действительно ли это возможно?

13
задан Lance Pollard 6 May 2010 в 08:35
поделиться

2 ответа

Или вы можете создать функцию JQuery, как это:

jQuery.fn.outerHTML = function(s) {
  return (s)
  ? this.before(s).remove()
  : jQuery("<p>").append(this.eq(0).clone()).html();
}

так что вы можете сделать это:

$('input').outerHTML();

или

$('input').outerHTML("new html");

благодаря http://yelotofu.com/2008/08/jquery-outerhtml/

10
ответ дан 1 December 2019 в 20:56
поделиться

Это несколько неудобно:

var field = $("input"); // assuming there is but 1
var html = field.wrap("<div>").parent().html();
field.unwrap();

html () аналогичен innerHTML . Не существует «стандартного» метода externalHTML . Вышеупомянутый элемент оборачивается во временный элемент и получает его innerHTML .

8
ответ дан 1 December 2019 в 20:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: