我想做一个.fadeIn()
链接到 this 的动画.after()
,但这似乎不是这样做的方式。有什么建议么?
$(clicked_item).parent().parent().parent().after(str).fadeIn("slow");
我想做一个.fadeIn()
链接到 this 的动画.after()
,但这似乎不是这样做的方式。有什么建议么?
$(clicked_item).parent().parent().parent().after(str).fadeIn("slow");
你应该使用.insertAfter()
;
$(str)
.hide()
.insertAfter($(clicked_item).parent().parent().parent())
.fadeIn("slow");
除了@EmreErkan 的回答,请尝试最小化您的代码。使用parents()
并选择要在其后添加文本的 div 的id
或class
,而不是使用parent()
三次:
$(str)
.hide()
.insertAfter($(clicked_item).parents(selector))
.fadeIn("slow");
编辑:正如评论中所指出的,最好使用closest()
而不是parents()
针对单个元素,这parents()
通常意味着使用选择器。
$.fn.after() 将返回运行它的元素(在本例中为 $(clicked_item).parent().parent().parent())。如果那是您想要淡入淡出的元素,那么我认为没有问题。如果你想淡入()'str'元素,我建议这样做:
$(str).insertAfter($(clicked_item).parent().parent().parent()).fadeIn('slow');
如果更改 HTML,则无需更改 .parent() 调用次数即可获取元素的特定父级的更稳定方法是将 .parents() 与标记名称一起使用:
$(clicked_item).parents('p').eq(0)
将“p”更改为您想要到达的元素。
编辑:哎呀,太晚了。