2013-01-18 64 views
5

访问元素我需要能够从阵列jQuery的 - 在阵列

HTML

<div id="container"> 
    <ul> 
    <li id="one">--------</li><br /> 
    <li id="two">----------------</li><br /> 
    <li id="three">-------</li><br /> 
    </ul> 
</div> 

JS

我知道我可以访问个人宽度的这样获得元素的宽度

$('#one').width(); 

但在阵列

var $array = $("#container li"); 

我如何通过其索引

$array[2].width(); //which causes error 

http://jsfiddle.net/8zvkn/

回答

11

使用eq访问元素的具体宽度:

$('#container li').eq(i) 
+2

是与OP oringal尝试使用问题'$阵列[2]'。是'$ array [2]'是一个不是jQuery对象的DOM元素,所以你不能对它执行'width()'。使用'eq()'你得到一个过滤jQuery对象在该索引的元素。 –

+0

谢谢你 - 作品非常棒!正在让我有点生气 – eleven11

7

您可以使用.eq功能如下面,

$array.eq(2).width() 

DEMO:http://jsfiddle.net/8zvkn/2/

$array[2] - 返回DOM元素,但你需要的是jQuery的对象,它具有.width功能。

0

你也可以做这样的事情用第n个孩子:

$("#container li:nth-child(1)").width(); // first li