使用XMLHttpRequest选择HTML的特定部分?

时间:2013-09-03 13:50:16

标签: javascript dom xpath xmlhttprequest queryselectall

我目前从网站下载HTML并使用“responseText”来获取HTML代码,现在我只想要它的特定部分。如何使用XMLHttpRequest选择HTML代码的特定部分?我已经使用Xpath或querySelectorAll进行了研究,我该如何轻松实现?从HTML代码中说出你不想只选择 - > div其中id =“home-members”。

提前致谢!

这是代码:

foobar.com/index.html:

..........
.....
<body>
..........
<div id="home-members">
    ........
    .....
</div>
....
</body>

我的遍历代码:

<script>
$.ajax({
   url: "http://foobar.com/index.php",
   cache: false
}).done(function( html ) {
   var partial = $(html).find("home-members");
   $("#results").append( partial);
})
</script>

<body>
    <div id="results"></div>
</body>

3 个答案:

答案 0 :(得分:0)

使用jQuery搜索返回的html。类似的东西:

$.ajax({
  url: "test.html",
  cache: false
}).done(function( html ) {
  var partial = $(html).find("div.dynamic-wrap.sidebar-wrap.clearfix");
  $("#results").append( partial);
});

答案 1 :(得分:0)

如果我不明白错误的话......

responseText是一个字符串,所以你可以使用regEx选择它的一部分,但我认为它可能不容易和黑客攻击。

另一个解决方案可能是..使用InnerHTML将响应文本放在div中,因此您可以使用标准的javascripts选择器来获取各种元素。类似......

document.getElementById('structural_div').innerHTML = responseText;

var what_you_need = document.getElementById('structural_div').getElementById('id_of_element_you_need').className

而不是getElementById('id_of_element_you_need')你可以按照你想要的方式,按类名,按标签名等来获取元素。

希望能帮到你:)。

答案 2 :(得分:-1)

我建议您使用HtmlAgilityPack