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

jQuery show() not a function - used in adding DOM elements

本文关键字:用于 添加 DOM 函数 元素 show jQuery 一个      更新时间:2023-09-26

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

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

$.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();

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

TypeError: $(...).get(...).show is not a function
http://www.ten103.com/javascript/global_desktop.js
Line 15

我确信这很简单,因为我已经使用Prototype很多年了,但需要转向jQuery,因为……越来越多的人使用它,所以资源无限好。

两者之间有什么根本的区别,我在这里遗漏了吗?

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

改为

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

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

有关.get().eq()的更多信息,请查看jQuery API文档

你需要更新

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

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

注意: get()给你一个DOM元素,show()适用于jQuery对象,因此,你需要把它转换成jQuery对象来使用这个函数