0

この JQuery を使用していくつかの要素を作成します。

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 を取得するのでしょうか?

編集

ええ、これは重複していることがわかります。最初に書いたとき、何を達成しようとしているのか、少なくとも達成しようとしていることに付けられた名前がわかりませんでした。

4

6 に答える 6

1

以下を使用できます。

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

すべてのブラウザで動作するか、

form[0].outerHTML

古い Firefox バージョン (< 11) をあまり気にしない場合

于 2013-09-05T13:31:06.647 に答える
0
var outer_html = $('selector').clone().wrap('<p>').parent().html();
于 2013-09-05T13:23:57.323 に答える
0

jQuery オブジェクトではなく、単純に DOM 要素を使用して、outerHTML...

あなたのコードでは...

form[0].outerHTML;

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

于 2013-09-05T13:27:00.527 に答える
0

これをチェックしてください

form[0]

ラップされていないバージョンの要素が必要なので、インデックス 0 を使用するだけです

于 2013-09-05T13:23:18.457 に答える
0

1 つの解決策:

一時的な要素を作成し、次のようにclone()append()ます。

$('<div>').append($('#xxx').clone()).html();

ここでより多くの回答を参照してください: https://stackoverflow.com/questions/5744207/jquery-outer-html

于 2013-09-05T13:22:04.543 に答える