需求是这样的,想给一个网站做一个增强插件,在他的列表页显示一部分只有详情页才有的数据。但这个网站是不提供任何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);}
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
用正则表达式啊!你用正则计算两个指定字符之间的字符,你那肯定是要获取标签里面的内容吧!因为你抓下来的已经不是html了,而是一个长长的字符串。我给你提供一个方法varstr="1222223";str=str.match(/1(\S*)3/)[1];alert(str);//结果22222就这么搞就ok了!我之前也搞过这种。
添加回答
举报
0/150
提交
取消