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

moo*_*moo 15 jquery load

我在我的应用程序中使用了以下行.但是现在我需要在显示它之前解析加载的html.什么是获得某些HTML元素的最佳方式.

$("#div").load("page.html");
Run Code Online (Sandbox Code Playgroud)

谢谢

更新

现在我正在使用它,但是在使用id"div"创建div的title属性时遇到了麻烦.

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

        alert(title);
    });
}
Run Code Online (Sandbox Code Playgroud)

var数据中的html如下所示.

<div id="div" title="title example">
<p>
    Content
</p>
<p>
    Content
</p>
</div>
Run Code Online (Sandbox Code Playgroud)

再次感谢

Nic*_*ver 22

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

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

请注意,.html(data)在这种情况下调用只是一个快捷方式 .empty().append(data).


或者,如果后处理是一个选项,只需使用.load()回调,如下所示:

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


SLa*_*aks 5

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


Pra*_*sad 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);
   }
});
Run Code Online (Sandbox Code Playgroud)