如何使用(This)来针对具有slideToggle JQuery的类?

如何使用(This)来针对具有slideToggle JQuery的类?,jquery,Jquery,我需要了解(这)是如何工作的。我见过许多不同的案例和实例,它们被使用,但使用方式不同。我只想针对几个具有类名的div中的一个。我似乎无法让它正常工作。我已经在Stackoverflow中阅读了几个答案,但似乎仍然无法针对使用(此)的一个类。再次感谢你帮助我 js <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('.expandCollapseMenu').click(fu

我需要了解(这)是如何工作的。我见过许多不同的案例和实例,它们被使用,但使用方式不同。我只想针对几个具有类名的div中的一个。我似乎无法让它正常工作。我已经在Stackoverflow中阅读了几个答案,但似乎仍然无法针对使用(此)的一个类。再次感谢你帮助我

js

<script type="text/javascript">
  jQuery(document).ready(function(){
     jQuery('.expandCollapseMenu').click(function(){
      jQuery(this).parent().find('.menu_product_main_container').slideToggle();
    });
  });
</script>

jQuery(文档).ready(函数(){
jQuery('.expandCollapseMenu')。单击(函数(){
jQuery(this).parent().find('.menu_product_main_container').slideToggle();
});
});
html

<div class="menu_category_category">
    <h3 class="basic_catolog">Beverages</h3>        
    <div class="toggle_menu">
        <img alt="" style="border: 0px none;" src="/images/icons/collapse_menu_icon_on.png" class="expandCollapseMenu {src: '/images/icons/expand_menu_icon.png'}" />
    </div>
</div>
<div class="menu_product_main_container">
    <p>Menu Item 1</p>
    <p>Menu Item 2</p>
</div>
<div class="menu_category_category">
    <h3 class="basic_catolog">Lunch</h3>
    <div class="toggle_menu">
    <img alt="" style="border: 0px none;" src="/images/icons/collapse_menu_icon_on.png" class="expandCollapseMenu {src: '/images/icons/expand_menu_icon.png'}" />
    </div>
</div>
<div class="menu_product_main_container">
    <p>Lunch Item 1</p>
    <p>Lunch Item 2</p>
</div>

饮料
菜单项1

菜单项2

午餐 午餐项目1

午餐项目2


它缺少一个
.parent()

jQuery(this).parent().find('.menu\u product\u main\u container').slideToggle()通过这一行,您可以得到

因此,解决方案是
jQuery(this).parent().parent().find('.menu_product_main_container').slideToggle()

编辑:

好的,通过缩进,我们可以更好地看到这个问题。一个解决办法就是换一个这样的新部门

<div>
  <div class="menu_category_category">
    <h3 class="basic_catolog">Beverages</h3>        
    <div class="toggle_menu">
        <img alt="" style="border: 0px none;" src="/images/icons/collapse_menu_icon_on.png" class="expandCollapseMenu {src: '/images/icons/expand_menu_icon.png'}" />
    </div>
  </div>
  <div class="menu_product_main_container">
    <p>Menu Item 1</p>
    <p>Menu Item 2</p>
   </div>
</div>

饮料
菜单项1

菜单项2


如果不更改DOM,我就不知道您的问题。

的值取决于代码所在的上下文

在事件处理程序的上下文中(例如传递给
.click()
)的函数,
将引用触发事件的元素(否则称为事件目标)

在迭代函数的上下文中,例如
.each()
将引用迭代的当前元素