web-dev-qa-db-ja.com

jquery .load()ページでhtmlを解析します

私は自分のアプリで以下の行を使用しました。しかし今、私はそれを表示する前にロードされたhtmlを解析する必要があります。特定のhtml要素を取得するための最良の方法は何ですか。

$("#div").load("page.html");

ありがとう

[〜#〜]更新[〜#〜]

現在、これを使用していますが、IDが「div」のdivのtitle属性を取得するのに問題があります。

function get_title()
{
    $.get("test.html", function(data) {
        var data = $(data);
        var title = $("#div", data).attr("title");

        alert(title);
    });
}

Varデータのhtmlは次のようになります。

<div id="div" title="title example">
<p>
    Content
</p>
<p>
    Content
</p>
</div>

再度、感謝します

15
moo

次のように、半同等の拡張バージョン $.get() を使用できます。

_$.get("page.html", function(data) {
  var data = $(data);
  //do something
  $("#div").html(data);
});
_

この場合の .html(data) の呼び出しは のショートカット.empty().append(data)であることに注意してください。


または、後処理がオプションの場合は、次のように .load() コールバックを使用します。

_$("#div").load("page.html", function() {
  $(this).find(".class").remove(); //just an example
});
_
22
Nick Craver
jQuery.ajax({
    url:'your_url',
    type:'get',
    dataType:'html',
    success:function(data)
   { 
       var _html= jQuery(data);
       //do some thing with html eg: _html.find('div').addClass('red')
       jQuery('#target').html(_html);
   }
});
5
Praveen Prasad

.load()を呼び出す代わりに、$.getを呼び出して、AJAX要求を実行し、応答を手動で処理する必要があります。

5
SLaks