javascript - 单个函数可单独切换其他 div 内的多个 div

标签 javascript jquery html

我的页面中有一些 div,每个 div 都有我想通过 jQuery 切换的内容。 这实际上是我的代码的样子:

$('.my_div').click(function() {
   $( ".my_div_B" ).slideToggle( "slow" );
 });

$('.my_div2').click(function() {
   $( ".my_div_B2" ).slideToggle( "slow" );
 });

$('.my_div3').click(function() {
   $( ".my_div_B3" ).slideToggle( "slow" );
 });

等等...当然,这不是最好的方法,总是在代码的同一部分重复 div 的名称。

HTML 模式:

<div class="my_div">
<img />
<img />
<div class="my_div_B">text</div>
</div>

如何在不打开所有 div 单击 $('this') 的情况下使其更短? - 附言我知道有一些类似的问题,但答案似乎是针对该标记的。

最佳答案

您可以检查 div 是否具有特定的类值,例如:

//select div with class attribute starts with my_div
$('div[class^="my_div"]').click(function() {
  //find child element div with class start my_div_B
  $(this).children("div[class^='my_div_B']").slideToggle("slow");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="my_div">
  <img src='http://placehold.it/200x100' />
  <img src='http://placehold.it/200x100' />
  <div class="my_div_B">text</div>
</div>
<div class="my_div2">
  <img src='http://placehold.it/200x100' />
  <img src='http://placehold.it/200x100' />
  <div class="my_div_B2">text</div>
</div>

关于javascript - 单个函数可单独切换其他 div 内的多个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27348450/

相关文章:

javascript - 当紧接在 div 标签下方调用脚本时会发生什么?

javascript - 获取复杂数组值或null的简单方法

javascript - IOS7 最小用户界面不工作

jquery - Chrome 扩展程序 : Cross Origin $. 发布请求

javascript - Datatable makeEditable() 不是一个函数?

html - Django 的什么功能可以使文本看起来更短?

javascript - 在固定高度的 y 轴上溢出滚动

javascript - map 标记不聚类

html - 如何通过 Xcode 真正使用 PhoneGap

翻转时的 jQuery 和背景渐变