我偶然发现了一个小问题。
想做一个简单的 accordion 导航。jquery,但注意到一些我无法理解的东西。
这是我代码
<div class="box"> Item 1</div>
<div class="text"> Text Box </div>
<div class="box"> Item 2</div>
<div class="text"> Text Box 2</div>
<div class="box"> Item 3</div>
<div class="text"> Text Box 3</div>
JS
$('.box').click(function(){
$('.text').slideUp()
$(this).next().slideToggle()
})
我想知道的是如果我用
$(this).next().slideToggle()
- 一切正常 *
现在我试着把(这个)替换成如下:
$('.text').next().slideToggle()
但效果是不同的。我想(这)会与div-text相关,或者至少与DOM中的其他东西相关?
2条答案
按热度按时间yyhrrdl81#
click事件中的
$(this)
表示事件的来源,另一方面,$('.text')
表示所有具有class
文本的元素的集合。$('.text').next().slideToggle()
将在选择器$('.text')
返回的集合的第一个元素上调用slideToggle
。wgxvkvu92#
简而言之:
同时: