Код (Text): var t = '<select name="list1" multiple size="7" id="asdas"><optgroup label="group1"><option value="1">Option</option><option value="2">Textarea</option></optgroup><optgroup label="group2"><option value="3">Label</option><option value="4">Fieldset</option><option value="5">Legend</option></select>'; console.log($(t).find('select').html()); не работает если обернуть в любой тег например div или form то работает Код (Text): var t = '<div><select name="list1" multiple size="7" id="asdas"><optgroup label="group1"><option value="1">Option</option><option value="2">Textarea</option></optgroup><optgroup label="group2"><option value="3">Label</option><option value="4">Fieldset</option><option value="5">Legend</option></select></div>'; console.log($(t).find('select').html()); в чем причина?
Причина в том, что возвращает метод html(). А возвращает он внутренний html элемента. В нативном JS - это свойство innerHTML. Если же вам нужен внешний html элемента, то используйте или же свойство outerHTML, или в jQuery - $(element).prop('outerHTML');