[$('*')[432]]
==>[<a id="mini_path_banner" href="/daily-instant-wins-start">Win over $1,000.00 Instantly</a>]
$('#mini_path_banner')
==>[<a id="mini_path_banner" href="/daily-instant-wins-start">Win over $1,000.00 Instantly</a>]
[$('*')[432]].width()
==>Uncaught TypeError: undefined is not a function VM5997:2
$('#mini_path_banner').width()
==>300
您可以在此网站上查看:http://games.pch.com/。据我了解,[$('*')[432]]
和$('#mini_path_banner')
返回了两个相同的对象。那为什么对它们执行相同的方法会产生不同的结果?以及如何找到$('*')[index]
找到的元素宽度?
答案 0 :(得分:1)
[$('*')[432]].width()
应为$('*').eq(432).width()
。
你有什么问题:
$('*')[432]
获取没有.width()
方法的DOM对象。[$('*')[432]]
是一个单独的元素数组,其中包含一个DOM对象,它也没有.width()
方法。使用.eq(n)
将单个元素添加到新的jQuery对象中(而不仅仅是DOM对象),这样就可以像.width()
一样调用jQuery方法:
$('*').eq(432).width();
答案 1 :(得分:1)
$('*')[432]
它是一个DOM对象,而不是一个jQuery对象
两种解决方案:
$('*').eq(432).width()
//or
$($('*')[432]).width()