jQuery fadeIn() 跟随 after()
我正在寻找链接到此 .after()
的 .fadeIn()
动画,但这似乎不是这样做的方法。有什么建议吗?
$(clicked_item).parent().parent().parent().after(str).fadeIn("slow");
I was looking to do a .fadeIn()
animation chained to this .after()
, but this doesn't appear to be the way of doing it. Any suggestions?
$(clicked_item).parent().parent().parent().after(str).fadeIn("slow");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您应该使用
.insertAfter()
;You should use
.insertAfter()
;除了@EmreErkan 的答案之外,请尝试最小化您的代码。使用
parents()
并选择要在其后添加文本的 div 的id
或class
,而不是使用parent()
三次:编辑: 正如评论中所指出的,最好使用
closest()
而不是parents()
如果您的目标是单个元素,则使用parents()
带有选择器通常意味着。In addition to @EmreErkan's answer, try minimizing your code. Use
parents()
and select theid
orclass
of the div you wish to add the text after instead of usingparent()
three times:EDIT: As pointed out in the comments, it is better to use
closest()
instead ofparents()
if you are targeting a single element, which usingparents()
with a selector usually implies.$.fn.after() 将返回其运行所在的元素(在本例中为 $(clicked_item).parent().parent().parent())。如果这是您想要淡入的元素,那么我认为没有问题。如果您想 fadeIn() 'str' 元素,我建议这样做:
一种获取元素的特定父级的更稳定的方法,不需要您更改 .parent() 调用的数量,如果您更改 HTML 的方法是将 .parents() 与标签名称一起使用:
将“p”更改为您想要访问的元素。
编辑:哎呀,太晚了。
$.fn.after() will return the element it was run on (in this case $(clicked_item).parent().parent().parent()). If that is the element you want to fadeIn then I see no problem. If you want to fadeIn() the 'str' element instead I'd suggest doing this:
A more stable way of getting a specific parent of an element that doesn't require you to change the number of .parent() calls if you change the HTML is to use .parents() together with a tag name:
Change the 'p' to the element you want to reach.
Edit: woops, too late.