jQuery show()不是函数 - 用于添加DOM元素

时间:2015-07-11 15:53:15

标签: javascript jquery dom

我正在从PrototypeJS迁移到jQuery,我在将功能应用到添加到简单横幅脚本中的新DOM元素时遇到了问题。

基本上,在页面加载时,使用append()将新的DIV元素放入DOM中,据我所知,这是在jQuery中完成的,而不是Prototype的Element对象。

SELECT uu.* AS dbo.Users uu FROM users WHERE (username = @Username)

检查Firebug后,元素已成功添加到DOM中,并立即隐藏。然后第一个(0)元素应该显示...但是,Firebug给我这个错误:

$.each(Banner.data, function(i, e) {
  $('#banner_area').append("<div class='banner_slot' id='bannner-"+ i +"'>...[nested elements]</div>").hide();
    });
$('.banner_slot').get(0).show();

我确信这很简单,因为我多年来一直在使用Prototype,但是需要转向jQuery,因为......更多人使用它,因此资源无限好。

我在这里缺少两个根本区别吗?

2 个答案:

答案 0 :(得分:9)

$('.banner_slot').get(0).show();

更改为

$('.banner_slot').eq(0).show();

.get()返回DOM元素,而.eq()返回jQuery对象,.show()是jQuery API。

有关.get().eq()结帐jQuery API docs

的详细信息

答案 1 :(得分:2)

您需要更新

$('.banner_slot').get(0).show();

$($('.banner_slot').get(0)).show();

注意get()为您提供了一个DOM元素,show()适用于jQuery对象,因此,您需要将其转换为jQuery对象才能使用该函数。 / p>