Jquery slideToggle无法使用$(this).find

Phi*_*ipl 2 javascript jquery

我想选择子'.comment'元素slideToggle它每次我点击'.item'元素.HTML代码:

<div class="row col-md-12 item">
  <div class="col-md-4">Name</div>
  <div class="col-md-4">degree of usage</div>
  <div class="col-md-4">price</div>
  <div class="col-md-12 comment">comment</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Js代码

$('.item').on('click', (event) => {
  $('.item > .comment').slideUp(200);
  $(this).find('.comment').slideToggle(200);
});
Run Code Online (Sandbox Code Playgroud)

似乎slideUp效果可以正常工作,但$(this).find无法捕获其中的'.comment'元素.

Ror*_*san 7

问题是因为您正在使用箭头函数,因此上下文this仍在外部作用域中,而不是.item引发事件的元素.如果您想要此行为,请使用传统函数:

$('.item').on('click', function(e) {
  $('.item > .comment').slideUp(200);
  $(this).find('.comment').slideToggle(200);
});
Run Code Online (Sandbox Code Playgroud)