我目前从网站下载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>
答案 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。