Не могу получить html

231
05 апреля 2017, 15:16

Есть форма с элементами внутри, типа:

<span class="field">
     <label class="k_f_desc editor mce-content-body" id="mce_23" contenteditable="true" spellcheck="false" style="position: relative;">Тест</label><input type="hidden" name="mce_23">
     <input type="text" name="name" placeholder="Имя">
</span>
и т.д...

Есть перебор элементов через each, вот внутренний код:

$('form').find('input[type=text]:first').parents(".field").outerHTML();

Задача: получить элемент вместе с родителем, то есть с <span class="field">...</span> Выдает ошибку:

Uncaught TypeError: $(...).find(...).parents(...).outerHTML is not a function
at HTMLLIElement.<anonymous> (script.js:594)

Раньше работало, сейчас не знаю даже почему перестало.

Answer 1

А как раньше работало то? outerHtml - функция javascript'a. Вам нужно как то так

console.log($(document).find('input[type=text]:first').parents(".field")[0].outerHTML);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<span class="field"> 
     <label class="k_f_desc editor mce-content-body" id="mce_23" contenteditable="true" spellcheck="false" style="position: relative;">Тест</label><input type="hidden" name="mce_23"> 
     <input type="text" name="name" placeholder="Имя"> 
</span>

Либо у вас гдето была определена функция именно outerHTML() и гдето затерлась :)

Answer 2
var s = $('form')
        .find('input[type=text]:first')
        .parents(".field")
        .clone()
        .wrap('<p>')
        .parent()
        .html();
console.log(s);
READ ALSO
Bootstrap настройка navbar меню

Bootstrap настройка navbar меню

Добрый вечерКак в navbar ul - меню разместить по центру страницы

722
CSS темы на вордпрессе

CSS темы на вордпрессе

Есть два момента, которые своими силами я все никак не могу довести до ума:

248
подключение css файлов в angularJS

подключение css файлов в angularJS

У меня приложение на angularJSВ главном файле index

205
Триггер для накопления данных в поле

Триггер для накопления данных в поле

Используется MySql 5,7 - х64

252