jQuery特定的选择器问题

时间:2011-06-28 20:55:43

标签: jquery

我很想知道,我知道$(selector)会返回一个jQuery对象,但是我说身体中有一系列div,例如:

<body>
<div> </div>
<div> </div>
<div> </div>
</body>

当我尝试$(“div”)时,jQuery应该返回一个类似于div数组的jQuery对象,但是当我尝试指定某个div如$(“div”)[1]时,这不是一个jQuery对象?如果不是,我知道我不能使用.css()那么如何更改我需要动态确定的特定div的css?

5 个答案:

答案 0 :(得分:6)

$("div")返回一个DOM元素数组。 $("div")[1]获取页面上的第二个元素,作为DOM元素。要将其恢复为jQuery对象,可以执行$($("div")[1])

我不建议你这样做。您可以使用:eq() selector获取所需的div。

$("div:eq(1)")

或者,您可以使用.eq() function

$("div").eq(1)

答案 1 :(得分:5)

您需要使用.eq http://api.jquery.com/eq/

$("div").eq(1)

答案 2 :(得分:4)

您可以使用jQuery eq来获取集合中的jQuery包装元素。 即

$("div").eq(1).css() 

答案 3 :(得分:0)

尝试这样做:

 $($("div")[1]).css()

答案 4 :(得分:0)

$("div")[1]不是jQuery对象。您甚至可以在此页面上的浏览器JavaScript控制台上测试它。您可以再次使用$功能进行设置,以便css可以使用:

$($("div")[1]).css("hello", "world");

或者,如果您的示例是您确实需要做的事情,请执行此操作:

$("body > div:nth-child(2)").css("hello", "world");