3

我有一个 jQuery 数组children,我保存在一个变量中:

var panels = panelsHolder.children('div');

现在,我只想解决其中一个孩子,我知道它的索引,所以我这样做:

panels[currentpanel].addClass('show')

但是我收到一个错误,因为返回的对象panels[currentpanel]不是 jQuery 对象,而是平面 DOM 元素。所以我不得不将它转换为一个 jQuery 对象——像这样:jQuery(panels[currentpanel])——但必须有一种方法可以从数组中将该对象作为一个 jQuery 对象。

我怎么做?

4

3 回答 3

3

你必须使用eq()来获取 jQuery 对象而不是 DOM,就像你现在得到的那样。

panels.eq(currentpanel).addClass('show')
于 2013-03-18T11:11:13.780 回答
1

问题是,当您从中获取currentpanel索引时,您得到的panels是普通的 DOM 对象,而不是 jQuery 对象。您可以通过用 包围它来解决此问题$()

$(panels[currentpanel]).addClass('show');

编辑:这看起来像是快速而肮脏的方法,因为您需要再次将对象“转换”为 jQuery 对象。eq()正如Adil所建议的那样是要走的路。

panels.eq(currentpanel).addClass('show')
于 2013-03-18T11:11:22.173 回答
1

你可以.eq(index).addClass('show')在 jQuery中使用

于 2013-03-18T11:11:53.250 回答