Javascript Jquery根据元素的查找方式返回元素的.width() [$('*')[432]] ==>[​] $(“#迷你#u路径#u横幅”) ==>[​] [$('*')[432]].width() ==>未捕获类型错误:未定义不是函数VM5997:2 $('mini#u path_banner')。宽度() ==>300

Javascript Jquery根据元素的查找方式返回元素的.width() [$('*')[432]] ==>[​] $(“#迷你#u路径#u横幅”) ==>[​] [$('*')[432]].width() ==>未捕获类型错误:未定义不是函数VM5997:2 $('mini#u path_banner')。宽度() ==>300,javascript,jquery,arrays,Javascript,Jquery,Arrays,你可以在这个网站上查看:。据我所知,[$('*')[432]]和$('#mini_path_banner')返回了两个相同的对象。那么为什么对它们执行相同的方法会得到不同的结果?以及如何找到$('*')[index]?[$('*')[432]]找到的元素的宽度。宽度()应该是$('*').eq(432).width() 你所拥有的东西有两个问题: $('*')[432]获取没有.width()方法的DOM对象 [$('*')[432]]是一个包含DOM对象的单元素数组,其中也没有.width()

你可以在这个网站上查看:。据我所知,
[$('*')[432]]
$('#mini_path_banner')
返回了两个相同的对象。那么为什么对它们执行相同的方法会得到不同的结果?以及如何找到
$('*')[index]

[$('*')[432]]找到的元素的宽度。宽度()
应该是
$('*').eq(432).width()

你所拥有的东西有两个问题:

  • $('*')[432]
    获取没有
    .width()方法的DOM对象
  • [$('*')[432]]
    是一个包含DOM对象的单元素数组,其中也没有
    .width()
    方法
  • 使用
    .eq(n)
    将单个元素放入一个新的jQuery对象(而不仅仅是DOM对象本身),这样您就可以像
    .width()
    那样对其调用jQuery方法:

    它是一个DOM对象,不是jQuery对象

    两种解决方案:

    $('*')[432] 
    
    $('*').eq(432).width();
    
    $('*')[432] 
    
    $('*').eq(432).width()
    //or
    $($('*')[432]).width()