在同一行中调用函数后调用函数的技术如何调用?

时间:2017-02-10 18:23:30

标签: javascript jquery

我想知道如何调用这种技术,以及它是否是一种好习惯。另外,每个功能的作用是什么?

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

4 个答案:

答案 0 :(得分:6)

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

此代码使用链接。

  1. 找到DOM中的所有div
  2. 在所有div中,它使用first
  3. 获取第一个div
  4. 然后使用parent
  5. 获取该div的父级
  6. 然后使用.projects
  7. 获取该父级内的所有find个元素
  8. 然后使用' css'
  9. 更改这些元素的CSS
  10. 然后使用200 ms
  11. 缓慢隐藏这些元素(fadeout

    它在这里使用链接,这意味着一旦搜索然后尝试在其上应用所有方法,它就不会一次又一次地进行DOM搜索。

    链接意味着每个函数都将返回一个包含所有搜索或过滤结果的jQuery实例,以便您可以在该jQuery实例上调用另一个函数。

    链接是一种非常好的方法,但它确实需要花费大量时间并且会降低应用程序的速度......来自SO的参考可能会有所帮助this

    希望有所帮助

答案 1 :(得分:4)

这可以由你完全研究......

$("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()

希望这有帮助。

答案 2 :(得分:3)

.first()

找到第一个元素。 Exampe

.parent()

用于选择父级。 Example

.find()

用于查找元素。 Example

.css()

用于添加cssExample

.fadeOut()

用于隐身元素。 Example

答案 3 :(得分:2)

这称为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,以便其他函数能够理解您要返回的内容。