jQuery fadeIn() 跟随 after()

发布于 2024-12-22 15:42:24 字数 183 浏览 2 评论 0原文

我正在寻找链接到此 .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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

折戟 2024-12-29 15:42:24

您应该使用 .insertAfter();

$(str)
  .hide()
  .insertAfter($(clicked_item).parent().parent().parent())
  .fadeIn("slow");

You should use .insertAfter();

$(str)
  .hide()
  .insertAfter($(clicked_item).parent().parent().parent())
  .fadeIn("slow");
蘸点软妹酱 2024-12-29 15:42:24

除了@EmreErkan 的答案之外,请尝试最小化您的代码。使用 parents() 并选择要在其后添加文本的 div 的 idclass,而不是使用 parent() 三次:

$(str)
    .hide()
    .insertAfter($(clicked_item).parents(selector))
    .fadeIn("slow");

编辑: 正如评论中所指出的,最好使用 closest() 而不是 parents()如果您的目标是单个元素,则使用 parents()带有选择器通常意味着。

In addition to @EmreErkan's answer, try minimizing your code. Use parents() and select the id or class of the div you wish to add the text after instead of using parent() three times:

$(str)
    .hide()
    .insertAfter($(clicked_item).parents(selector))
    .fadeIn("slow");

EDIT: As pointed out in the comments, it is better to use closest() instead of parents() if you are targeting a single element, which using parents() with a selector usually implies.

内心旳酸楚 2024-12-29 15:42:24

$.fn.after() 将返回其运行所在的元素(在本例中为 $(clicked_item).parent().parent().parent())。如果这是您想要淡入的元素,那么我认为没有问题。如果您想 fadeIn() 'str' 元素,我建议这样做:

$(str).insertAfter($(clicked_item).parent().parent().parent()).fadeIn('slow');

一种获取元素的特定父级的更稳定的方法,不需要您更改 .parent() 调用的数量,如果您更改 HTML 的方法是将 .parents() 与标签名称一起使用:

$(clicked_item).parents('p').eq(0)

将“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:

$(str).insertAfter($(clicked_item).parent().parent().parent()).fadeIn('slow');

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:

$(clicked_item).parents('p').eq(0)

Change the 'p' to the element you want to reach.

Edit: woops, too late.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文