jQuery 如何在一段大HTML文本中使用 find 或其他命令获取指定内容?

需求是这样的,想给一个网站做一个增强插件,在他的列表页显示一部分只有详情页才有的数据。但这个网站是不提供任何API的,所以思路就是打开列表页的时候抓了所有条目的详情url,之后用ajax抓一遍。
现在url已经搞定了,用ajax抓下来的html页面不知道怎么处理。在网站原页面直接用$('.btnview')就能得到想要获取的数据了,但是自己抓下来的内容却不能直接用find。试过parseHTML也没有效果,在网上找了类似的代码发现也没有正常工作。
附部分代码:
functiongetDetail(detailUrl){
$.ajax({
type:'GET',
url:'detailUrl',
dataType:'html',
async:true,
success:function(msg){
checkDetail(msg);
},
error:function(msg){
console.log(msg);
}
});
}
functioncheckDetail(msg){
vartempDom=$('').append($.parseHTML(msg));
varappContainer=$('#app-container',tempDom);
console.log(tempDom);
console.log(appContainer[0]);
varstatus=tempDom.find('.btnview');
console.log(status);
}
汪汪一只猫
浏览 789回答 2
2回答

侃侃尔雅

varhtml='asd';console.log($(html).find('span').text())

ibeautiful

用正则表达式啊!你用正则计算两个指定字符之间的字符,你那肯定是要获取标签里面的内容吧!因为你抓下来的已经不是html了,而是一个长长的字符串。我给你提供一个方法varstr="1222223";str=str.match(/1(\S*)3/)[1];alert(str);//结果22222就这么搞就ok了!我之前也搞过这种。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript