Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery了解如何在函数中使用上下文_Jquery - Fatal编程技术网

jQuery了解如何在函数中使用上下文

jQuery了解如何在函数中使用上下文,jquery,Jquery,我需要一些帮助来理解如何实现可以更灵活地使用的功能。 假设我有这个html: <h3 class="heading">Heading</h3> <ul class="links"> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">

我需要一些帮助来理解如何实现可以更灵活地使用的功能。 假设我有这个html:

<h3 class="heading">Heading</h3>
<ul class="links">
  <li><a href="#">Link</a></li>
  <li><a href="#">Link</a></li>
  <li><a href="#">Link</a></li>
  <li><a href="#">Link</a></li>
  <li><a href="#">Link</a></li>
</ul>
它按预期工作,但我想使该函数更通用,以便可以在其他上下文中使用-类似于以下内容:

$('.heading').click(function() {
  collapse();
});
var collapse = function() {
  $(this).next().slideToggle();
}
这显然不起作用,因为没有定义
$(This)
。但我怎样才能实现类似的目标呢?
.

您还需要传递元素的对象:

$('.heading').click(function() {
   collapse(this);
});
var collapse = function(_obj) {
 $(_obj).next().slideToggle();
}

啊,这么简单?非常感谢。:-)
$('.heading').click(function() {
   collapse(this);
});
var collapse = function(_obj) {
 $(_obj).next().slideToggle();
}