$(this).find('td.character a') 如何取得第一个元素a

来源:6-2 比对过滤 IMDb 与 WIKI 人物清洗出正确数据

jessezwd

2017-11-08

在imdb.com网站上,td.character 下有两个a, 导致name的值成为Cersei Lannister58 episodes, 2011-2017,find('td.character a')函数如何取得第一个元素a?

写回答

2回答

Scott

2017-11-14

https://github.com/cheeriojs/cheerio#findselector 


这里有更详细的 API 可以组合使用


要获取第一个元素,理论上没那么麻烦,你尝试下


$(find('td.character a')[0]) 可不可以

0
0

Scott

2017-11-12

$(this).find('td.character a')


是一个 DOM 数组,取数组的第一位便是第一个 a,这个 a 可能需要用 $ 来包裹一下

0
1
jessezwd
我采取处理字符串的方式来解决这个问题,在‘Cersei Lannister58 episodes, 2011-2017’中找到第一个数字的位置,然后截取这个位置之前的字符串。 代码如下: function isNumber(obj) { return typeof obj === 'number' && !isNaN(obj) } function getRightName(name){ for (var i = 0; i < name.length; i++){ if(isNumber(parseInt(name[i]))){ name = name.substring(0, i) break } } return name }
2017-11-13
共1条回复

开发微信全家桶项目Vue/Node/MongoDB高级技术栈全覆盖

Nuxt/Vue SSR + Koa2 跨栈开发微信公众号+小程序

989 学习 · 401 问题

查看课程