jquery 在同一行中一个函数接一个函数调用的技巧是如何调用的?[关闭]

wvyml7n5  于 2023-04-20  发布在  jQuery
关注(0)|答案(4)|浏览(103)

已关闭,此问题需要更focused,目前不接受回答。
**要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

6年前关闭。
Improve this question
我想知道这个技巧是如何调用的,它是否是一个好的实践。还有,每个函数都做了什么?

$("div").first().parent().find(".projects").css("color","red").fadeOut(200);
1cklez4t

1cklez4t1#

$("div")
  .first()
  .parent()
  .find(".projects")
  .css("color","red")
  .fadeOut(200);

这段代码使用了链接。
1.它查找DOM中的所有div
1.在所有div中,它使用first获取第一个div
1.然后使用parent获取该div的父级
1.然后使用find获取父元素中的所有.projects元素
1.然后使用'css'更改这些元素的CSS
1.然后使用fadeout缓慢隐藏这些元素(200 ms
它在这里使用了链接,这意味着它不会一次又一次地进行DOM搜索,一旦搜索,然后尝试在其上应用所有方法。
链接意味着每个函数将返回一个包含所有搜索或过滤结果的jQuery示例,以便您可以在该jQuery示例上调用另一个函数。
链接是一种非常好的方法,但它确实需要很多时间,并且会减慢应用程序。SO的This reference可能会有所帮助。

f1tvaqid

f1tvaqid2#

.first()

查找第一个元素. Exampe

.parent()

用于选择父项。Example

.find()

用于查找元素. Example

.css()

用于添加css . Example

.fadeOut()

用于不可见元素。Example

y0u0uwnf

y0u0uwnf3#

这完全可以由你来研究……

$("div")   // select div elements
  .first()  // get the first div element from all of the div elements from previous call
  .parent()  // get the parent element of the first div
  .find(".projects") // find the element with the class name "projects" within the div element
  .css("color","red") // change the color of that element to red
  .fadeOut(200); // hide that element by fading it to transparent with a duration of 200

文档(我强烈建议你看看):

.first().parent().find().css().fadeOut()
希望这能帮上忙。

kb5ga3dv

kb5ga3dv4#

这在jquery中被称为链接。
代码的行为如下所示。

$("div")  // select `div` elements from dom
  .first() // select the first `div` element from the list returned by previous call
  .parent() // it will select its first level parent
  .find(".projects") // find any inner element which has class `.project`
  .css("color","red")  // css will applied to the selected element
  .fadeOut(200);  // then it will fade out.

jQuery在库中实现了链接,以便一个函数可以在另一个函数上工作。
如果你想在你自己库中应用链接,你需要返回this,这样另一个函数就能理解你返回的内容。

相关问题