2013-09-05 2 views
0

Я использую это JQuery, чтобы создать некоторые элементы:Jquery .html(), как получить все HTML

var form = $(document.createElement("form")); 
form.prop({"action":"/DoSomething", "method": "POST"}); 
var input = $(document.createElement("input")); 
input.prop({"type": "image", "src": "someUrl.png"}); 
form.append(input); 

теперь я хочу, чтобы получить весь HTML строку, которая генерируется все, что так:

<form action="/DoSomething" method="POST"><input type="image" src="someUrl.Png" /></form> 

Так что я могу передать его через некоторые другие функции Javascript!

Однако, делая form.html() явно показывает только это:

<input type="image" src="someUrl.Png" /> 

Итак, как вы получите все HTML?

EDIT

Да, я могу видеть, что это дубликат, когда я первый написал, я понятия не имел, что я пытался достичь или по крайней мере имя, данное к тому, что я пытался достигать.

+0

Используйте '$ (document) .html()' – Praveen

ответ

-1

Просто используйте с указанной элемент формы

form.parent().html() 
+2

Примите во внимание, что ваш ответ может добавить другие элементы в html. – Sikian

0

проверьте это

form[0] 

вам нужен элемент это сам не обернутую версию так просто использовать индекс 0

+0

Это возвращает элемент, а не его строку HTML. – Barmar

0
var outer_html = $('selector').clone().wrap('<p>').parent().html(); 
0

Вы можете просто использовать элемент DOM, а не объект JQuery, и получить outerHTML ...

В коде это будет ...

form[0].outerHTML; 

http://jsfiddle.net/6ugyS/1/

1

Вы можете использовать:

form.wrap('<div />').parent().html()

работать во всех браузерах или

form[0].outerHTML

, если вы на самом деле не заботиться о старых версиях Firefox (< 11)

Смежные вопросы