1

ajaxでページをリクエストする必要がある状態になります。結果としてHTMLを取得します。これらの HTML 結果を解析し、解析された HTML コンテンツを現在のページに追加します。

この HTML コンテンツが要求されたものだとしましょう:

<html>
<head></head>
<body>

<div id="main">
<script type="text/javascript" src="http://script.com/js/script.js"></script>
</div>

</body>
</html> 

#main現在の HTML の一部に追加するよりも、id セレクター (javascript テキストを含む)を解析する方法。

jQuery.ajax({
    url: requestedurl,
    type : "POST",
    dataType : "text",
    success: function(data) {
        console.log(jQuery(data).find("#main"));
        // than append
    }
});

jqueryを使用して解析するのではなく、正規表現を使用する方が良いですか? 助けてくれてどうもありがとう。

ps : jquery を使用して結果をロードしようとすると、テキスト ノードのコンテンツなどを取得します。残念ながら、それを解析する方法がわかりません。:(

4

2 に答える 2

1

テキストノードをスキップする必要があります。

コンソールに入りました[ Text, <div id=​"main">​&lt;/div>​, <script type=​"text/​javascript" src=​"http:​/​/​script.com/​js/​script.js"></script>​, Text]

だからただ得るjquery(data)[1]

私は test.html であなたと同じことを試しました:

<html>
<head></head>
<body>

<div id="main">
<script type="text/javascript" src="http://script.com/js/script.js"></script>
</div>

</body>
</html>

そして別のファイルで

    <script type="text/javascript">
    $(document).ready(function(){
       jQuery.ajax({
        url: './test.html',
        type : "POST",
        dataType : "html",
        success: function(data) {
            console.log(jQuery(data)[1]); //Then i got the main div
            // than append
        }
    });
   });
    </script>
于 2012-09-11T03:40:01.107 に答える
1

dataType を「text」から「html」に変更します

于 2012-09-11T03:03:49.357 に答える