我得到条件,我需要用ajax请求页面。我得到HTML作为结果。解析这些HTML结果,并将解析后的HTML内容附加到当前页面中。
假设这个HTML内容是请求的内容:
<html>
<head></head>
<body>
<div id="main">
<script type="text/javascript" src="http://script.com/js/script.js"></script>
</div>
</body>
</html>
如何解析#main
id选择器(包括javascript文本),而不是将其附加到当前HTML的一部分上。
jQuery.ajax({
url: requestedurl,
type : "POST",
dataType : "text",
success: function(data) {
console.log(jQuery(data).find("#main"));
// than append
}
});
最好不使用jquery解析,而是使用正则表达式?非常感谢你的帮助。
ps:我尝试使用jquery加载结果,我得到文本节点内容等,遗憾的是我不知道如何解析它。 :(
答案 0 :(得分:1)
从&#34; text&#34;更改您的dataType到&#34; html&#34;
答案 1 :(得分:0)
你应该跳过textnode。
我进入了控制台[
Text, <div id="main"></div>, <script type="text/javascript" src="http://script.com/js/script.js"></script>, Text]
所以只需获取jquery(data)[1]
我在test.html中尝试过和你一样的事情:
<html>
<head></head>
<body>
<div id="main">
<script type="text/javascript" src="http://script.com/js/script.js"></script>
</div>
</body>
</html>
并在另一个文件中
<script type="text/javascript">
$(document).ready(function(){
jQuery.ajax({
url: './test.html',
type : "POST",
dataType : "html",
success: function(data) {
console.log(jQuery(data)[1]); //Then i got the main div
// than append
}
});
});
</script>