Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery show()不是函数-用于添加DOM元素_Javascript_Jquery_Dom - Fatal编程技术网

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

Javascript jQuery show()不是函数-用于添加DOM元素,javascript,jquery,dom,Javascript,Jquery,Dom,我正在从PrototypeJS迁移到jQuery,在将功能应用到添加到简单横幅脚本中的新DOM元素时遇到了问题 基本上,在页面加载时,使用append()将新的DIV元素放置到DOM中,据我所知,这是在jQuery中完成的,而不是在Prototype的元素对象中完成的 $.each(Banner.data, function(i, e) { $('#banner_area').append("<div class='banner_slot' id='bannner-"+ i +"'&g

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

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

$.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,因为。。。更多的人使用它,因此资源会无限好

这两者之间有什么基本的区别吗?我在这里没有提到。

您需要更新

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

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

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

$('.banner_slot').eq(0).show();
.get()
返回DOM元素,
.eq()
返回jQuery对象,
.show()
是jQuery API


有关
.get()
.eq()
的详细信息,请签出
$('.banner\u slot').get(0).show()
,尝试使用
$('.banner\u slot')[0]。show()
使用正确的方法,只需将
get
替换为
eq
,我假定这是因为您有一个jQuery对象,您可以使用它来获取一个domeElement,然后再次将其返回到jQuery对象,而您可以使用
eq()
@rorymcrossan-我同意。我想强调这个问题,然后添加注释。@vinayakj-我同意,正如我所说的,我想强调这个问题。谢谢!对此需要有一个更为明显的解释。我希望jQuery也能处理DOM元素,而不是造成这些令人困惑的错误。
$('.banner_slot').get(0).show();
$('.banner_slot').eq(0).show();