2013-05-08 42 views
0

在这里工作是代码:EQ()针对其定义

console.log($("div:eq(x)"))//[object Object] 

我不明白为什么上面的代码输出对象对象,即使您提供Ÿ代替X它仍然作品,无论你供应它仍然有效。我是jQuery的初学者,我在哪里犯了一个错误或误解?

x是简单的未定义。做eq接受任何东西,我认为只有索引它接受。

我这个当我试图做到这一点:

for (var i = 0; i < 5; i++) 
{ 
    $("<div>Helow</div>").appendTo(document.body); 
    document.write("</br>"); 
    setInterval(waka,5000); 
} 

function waka(){   
    for (var i = 0; i < 5; i++) 
    { 
     $("div:eq(i)") //i want to select each div 
    } 
}   

但每次div是没有得到选择的。我认为I被替换为它的数值。

+0

这不是jQuery选择器的工作方式。 – 2013-05-08 18:35:05

+5

'$(“div:eq(”+ i +“)”)',集中。或者只是'$('div')。eq(i)'! – adeneo 2013-05-08 18:35:15

+0

@adeneo这是有帮助的.Thanku – 2013-05-08 18:35:55

回答

0

如果您认为$(param)只是一个函数,param是一个参数。如果你调用一个函数,该函数可以返回任何东西 - 它不必告诉你该参数是无效的。所以当jQuery解释“div:eq(x)”时,它找不到它&只是返回它自己的空实例。这不是那么简单,但足以让你开始朝着正确的方向发展

+0

@adeneo plz参考这个[http://api.jquery.com/eq-selector/] .doc不使用这个语法$(“div:eq(”+ i +“)”)来选择元素,但是insteade使用我在我的问题中描述的语法,并且我被建议在obove评论中使用该语法 – 2013-08-06 11:04:46