为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

汪汪一只猫 2019-05-24 10:41:47
需求是这样的,想给一个网站做一个增强插件,在他的列表页显示一部分只有详情页才有的数据。但这个网站是不提供任何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 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

varhtml='
asd
';
console.log($(html).find('span').text())
                            
查看完整回答
反对 回复 2019-05-24
?
ibeautiful

TA贡献1993条经验 获得超5个赞

用正则表达式啊!你用正则计算两个指定字符之间的字符,你那肯定是要获取标签里面的内容吧!因为你抓下来的已经不是html了,而是一个长长的字符串。我给你提供一个方法
varstr="1222223";
str=str.match(/1(\S*)3/)[1];
alert(str);//结果22222
就这么搞就ok了!我之前也搞过这种。
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 788 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信