请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答 回答被采纳积分+3

2回答

Scott 2017-11-14 08:21:05

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


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


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


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

0 回复 有任何疑惑可以回复我~
Scott 2017-11-12 22:10:45

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


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

0 回复 有任何疑惑可以回复我~
  • 提问者 jessezwd #1
    我采取处理字符串的方式来解决这个问题,在‘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 14:51:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信