对ajaxed html内容执行jQuery选择

时间:2010-04-12 09:27:54

标签: jquery html jquery-selectors

是否可以使用ajax加载html文档,然后对加载的html执行jquery选择?

我想对远程搜索服务器执行搜索,然后使用结果重新格式化现有页面。

编辑:查找功能似乎没有返回结果(长度始终为0)。这是示例html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

    <p>Hello world</p>

    <p>good bye world</p>

</body>
</html>

这是jQuery:

$(document).ready(function() {

  $.ajax({
    url: 'content/HTMLPage.htm',
    dataType: 'html',
    success: function(data) {

      alert($(data).find('p').length);

    }
  });
});

4 个答案:

答案 0 :(得分:0)

如果可以,你可以......

你可以使用

var result = $(returned_html) ;

在ajax成功处理程序中,然后执行result.find('#id_of_anything')。 你的ajax调用在这里应该有'dataType''html'。

您的问题是,“远程搜索服务器”调用“远程域”,但不会 可能是由于ajax同源政策。

答案 1 :(得分:0)

是否可以使用ajax加载html文档,然后对加载的html执行jquery选择? -

您可以使用live()delegate()

处理事件

答案 2 :(得分:0)

您可以使用以下内容:

$.get(url, function(data) {

  $(data).find();

} );

您基本上将返回的html内容包装在jQuery对象中。然后你可以使用jQuery选择器。

答案 3 :(得分:0)

我真的很挣扎。我已设法加载整个文档并正确选择,但这个文档有一个文档类型。

否则似乎有可能但它有其警告。您选择的项目至少需要一个父节点。我真的不认为我可以在这里做任何标记作为答案。

这个html返回了2个元素:

<div>
  <p>Hello world</p>

  <p>good bye world</p>
</div>