我正在编写一个刮刀,作为我在IMDB上进行的测试并尝试从列表中获取一些演员名称 这是页面的link。
当我在控制台中调用此函数时,我正试图从html中取出名称
$('.list_item').find('.info a:eq(0)').each(function (){ console.log(this)})
控制台会记录标签中的所有内容,但是当我尝试抓取html时,我得到一个错误,undefined不是一个函数。
$('.list_item').find('.info a:eq(0)').each(function (){ console.log(this.html())})
但是如果我给他们的标签一个id我可以用
抓住它$('#testname').html();
这样可以获得正确的名称
答案 0 :(得分:6)
更改
console.log(this.html());
到
console.log($(this).html());
方法.html()
需要一个jQuery对象。你需要包裹this
- > $(this)
。
答案 1 :(得分:3)
html
是一个jQuery方法,DOM只知道innerHTML
属性。
所以你要么需要在jQuery集中包装this
,要么在那里使用innerHTML属性。