.prev()是否不按照jQuery api文档操作?

.prev()是否不按照jQuery api文档操作?,jquery,Jquery,出于一般的好奇,我想知道为什么在.prev 根据api,使用.prev可以操作元素的前置元素 jQuery:这里只是一个片段,完整的代码 HTML: <div class="static-sublayers"> <div id="log1">elf <span class="will">1</span> </div> </div>

出于一般的好奇,我想知道为什么在
.prev

根据api,使用
.prev
可以操作元素的前置元素

jQuery:这里只是一个片段,完整的代码

HTML:

     <div class="static-sublayers">
         <div id="log1">elf <span class="will">1</span> </div>
     </div>

     <a class="add" href="#">Add</a> 

精灵1
基本上,上面的
a
是元素
el
和I
appendTo
.prev()
块,我让它工作的唯一方法是用div包装
.static子层

从我对api的理解来看,
.prev
得到了前面的元素,所以我不知道为什么要包装它

这是一个如此初级的问题,但我再次提出这个问题纯粹是出于好奇,希望能够更好地使用jQuery,特别是更好地理解
.prev()
这样一个简单的问题

同样的,这篇文章更深入地展示了代码,您可以更好地理解我,我已经注释掉了正在工作的HTML

编辑: 我一贴出这封信,就把小提琴弄乱了,找到了我的答案。在发布之前,我试图彻底测试所有内容,在询问
copy.appendTo(jQuery(el).prev('.static sublayers'))之前,我这样做了
然后意识到我需要像
.prev()
一样将
.prev
留空。。。因此,如果目标是嵌套的,那么
.find()
是一个很好的解决方案,但是如果标记很简单,而且前面的元素根本没有嵌套,那么
copy.appendTo(jQuery(el.prev())
就是解决方案。

您正在使用
.prev().find('.static sublayers')
,它将在带有类
静态子层的div中搜索
.static sublayers
。尝试使用以下方法:

copy.appendTo(jQuery(el).prev());

您在这里使用
el
,但它没有在任何地方定义
copy.appendTo(jQuery(el.prev().find)('.static sublayers')是的,我使用
copy.appendTo(jQuery(el.prev())找到了它工作。。。.find将在实时代码中派上用场,如果目标是嵌套的,则需要上述逻辑。但是如果它与实时代码不同,那么这个
copy.appendTo(jQuery(el.prev())
是合适的。前面的元素是
”。静态子层“
,因此
.find()
没有找到任何内容,因为
.find()
只查看子体,而不是当前元素<代码>不需要.find()
。@Jbird是在小提琴中定义的,我只是想在这里快速地放一个片段。。很抱歉,如果这有误导性,但我不想添加太多的代码…最好是所有代码都放在这里,而不是只放一点没有意义的代码,然后再把网上最好的代码链接起来。是的,这么简单的错误,我问了之后就发现了。。但公平地说,这确实帮助我更好地理解了
.prev()
的工作原理,如果目标嵌套在前一个块中,那么使用
.find
是很好的。
copy.appendTo(jQuery(el).prev());