jquery .load()页面然后解析html

时间:2010-10-04 15:19:00

标签: jquery load

我在我的应用中使用了以下这一行。但是现在我需要在显示之前解析加载的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>

再次感谢

3 个答案:

答案 0 :(得分:22)

您可以使用$.get()的半等效扩展版本,如下所示:

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

请注意,在这种情况下调用.html(data)只是a shortcut for .empty().append(data)


或者,如果可以选择后处理,只需使用.load()回调,如下所示:

$("#div").load("page.html", function() {
  $(this).find(".class").remove(); //just an example
});

答案 1 :(得分:5)

您应该调用.load()来执行AJAX请求并手动处理响应,而不是调用$.get

答案 2 :(得分:5)

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);
   }
});