javascript - 这找到另一个 div 的父级并使用 jQuery 切换其子级

标签 javascript jquery

我做了一些研究,但似乎没有任何效果。这是我正在组合的 HTML 和 JavaScript。我想要做的是将其设置为每当单击dashboard_gear_options 时,它都会切换相应的隐藏选项行。每个代码块在页面的不同位置多次存在。我尝试使用 this、find、parent、next 和 Children,但没有成功。

HTML:

// start block
<div class="content_block_holder">
   <div class="content_top">
      <div class="dashboard_gear_options"></div>
      <div class="dashboard_gear_divider"></div>
   </div>
   <div class="dashboard_holder">
      <div class="hidden_options_row"></div>
   </div>
</div>
// end block

// start block
<div class="content_block_holder">
   <div class="content_top">
      <div class="dashboard_gear_options"></div>
      <div class="dashboard_gear_divider"></div>
   </div>
   <div class="dashboard_holder">
      <div class="hidden_options_row"></div>
   </div>
</div>
// end block (etc..)

JS:

$(document).ready(function(){
   $('.dashboard_gear_options').click(function(){
       $(this).parent('.content_block_holder').find('.hidden_options_row').toggle();        
    });
});

最佳答案

尝试在选择器中使用 closest([selector]) ( http://api.jquery.com/closest/ ) 而不是父级。它将遍历树并找到“content_block_holder”。 parent([selector]) 将仅检查直接父级,如果它与提供的选择器不匹配,则返回一个空集。

$(document).ready(function(){
   $('.dashboard_gear_options').click(function(){
       $(this).closest('.content_block_holder').find('.hidden_options_row').toggle();        
   });
});

JSFiddle 基于您的代码:http://jsfiddle.net/gK7yM/

关于javascript - 这找到另一个 div 的父级并使用 jQuery 切换其子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11710983/

相关文章:

javascript - 为什么有些项目用了typescript/webpack也用babel完成编译

jquery - jquery mobile 中的 ListView 搜索

javascript - 如何中止脚本加载

javascript - 图像隐藏时是否下载?

jquery - Chrome 不接受 jQuery 符号 ($)

javascript - Google 是如何制作滚动条的?

javascript - Vue.js 2 - 渲染子行

javascript - 如何通过 javascript 构建非预加载幻灯片放映?

javascript - 在不同域的用户脚本之间传输数据

jquery添加删除类