在通过Ajax检索的HTML页面上执行jQuery操作?

时间:2014-05-29 19:08:50

标签: javascript jquery html ajax

假设您正在使用Ajax检索完整的HTML页面。您现在在变量中有一页HTML。

假设您需要从该页面查找并提取一些数据,您是如何做到的?

传统上我是使用正则表达式完成的,但我想知道是否有办法对检索到的源代码执行jQuery操作。它会极大地简化事情,因为jQuery是为解析HTML DOM树而构建的。

我想也许可以将检索到的来源以隐藏的形式附加到当前页面DOM中?还有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

jQuerys parseHTML可能正是您所寻找的:http://api.jquery.com/jquery.parsehtml/

答案 1 :(得分:0)

如果我理解你,你可以通过变量中的ajax加载页面的html代码(让它调用数据),然后你想用jquery操作搜索它。 您可以在第一个html页面中创建一个容器,然后用Ajax返回的内容填充它。然后,您可以使用jQuery正常处理它 所以:

  <body>
    <div id="first_page">
            <h3>First page</h3>
             <p>This the page that makes the Ajax call</p>
    </div>
    <div id="ajax_container"></div>
 </body>

现在,在Ajax调用之后,用数据填充容器

$("#container").html(data);

然后,您可以使用.find(),或者只是编写一个合适的jquery选择器。

 var a = $("#container").find("#my_id").html; 
 var b = $("#container #my_id").html();

现在a和b应该包含来自加载了Ajax的页面中id为my_id的元素的内容

PS:我不确定您是否希望将数据附加到当前页面。如果那不是你想要实现的目标,那么你就