0

与えられた

var html = "<html><body><p>Hello, World!</p><p>Ciao!</p></body></html>";

bodyタグ( )の内部HTMLを抽出したいと思います<p>Hello, World!</p><p>Ciao!</p>

.find()bodyDOMノードを検索します

var body = $(html).find("body");

しかし、そのノードの内部HTMLを取得する手段が見つかりません。私は試した:

var text = body.text(); //  returns ""
var var = body.var(); // returns undefined

<body>タグの内部HTMLの文字列表現を取得するにはどうすればよいですか?

4

4 に答える 4

1

サブストリングを使用して、のインデックスとのインデックスを取得し、内部にあるものでサブストリングを作成できます。

var bot = html.indexOf("<body>");
var top= html.indexOf("</body>");
var body=html.substring(bot,top);
于 2013-02-12T04:23:56.123 に答える
0

文字列をでラップすると、jQueryはタグhtmlとタグを削除します。body$()

したがって、これを行うことができます:

var str=$('<div>').append($(html)).html()

デモhttp://jsfiddle.net/LxdrM/

于 2013-02-12T04:25:44.867 に答える
0

あなたは試すことができますbody[0].innerHTML()

于 2013-02-12T04:25:54.813 に答える
0

文字列表現を表示したいので、タグ自体divではなく、要素(またはbodyタグ内の他の要素)にhtmlを保持することをお勧めします。body文字列表現には、TextAreaSOも使用しているものを使用します。

ワーキングフィドル

$(function(){
   var body = $('html').find('div'); 
   var text = body.html(); 
   $("#textArea").val(text);
});

HTML

<html>
     <body>
        <div><p>Hello, World!</p>
             <p>Ciao!</p>
        </div>
        <textarea id="textArea" name="post-text" cols="92" rows="15" tabindex="101">
        </textarea>
     </body>    
 </html>
于 2013-02-12T04:49:30.587 に答える