javascript - 选项卡的子元素不起作用

标签 javascript jquery html

这是pen我正在尝试。 如果您将看到笔,则第一个容器有一个未显示在结果中的子 div。Jquery 如下,

$('.content-canvas').find('div').hide();
$('.content-canvas div:first-child').show();
$('.tab-button span:first-child').addClass('active');
$('.tab-button').find('span').click(function(){
  $('.tab-button').find('span').removeClass('active');
  var currentclass=$(this).attr('class');
  $(this).addClass('active');
 $('.content-canvas').find('div').each(function(){
    if($(this).attr('class')==currentclass)
    {
      $('.content-canvas').find('div').hide();
      $(this).slideDown(200);
      $(this).children().show(200);
    }
    else
    {
      $(this).hide();
    }
});
});

最佳答案

第一行:

$('.content-canvas').find('div').hide();

更改为

$('.content-canvas > div').hide();

对您使用的所有相同选择器执行相同的操作。您只需要隐藏直接后代,而不是所有div

此外,我建议将此 selecotr 缓存到变量中:

var elements = $('.content-canvas > div').hide();
...
...
element.each(function() {
...

等等,这样就不用每次都跳进DOM了。

关于javascript - 选项卡的子元素不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18735475/

相关文章:

javascript - 任何人都可以用一种易于理解的方式从字面上翻译这个 JavaScript 函数吗?

firefox - 渲染 HTML5 动画服务器端?

javascript - 如何从具有多个类的输入中获取ElementsById

javascript - 访问特定 html 元素值而不更改 HTML

javascript - 实时加载结果(ajax)

javascript - 为什么不溢出滚动我的表格单元格的内容?

php - 单击按钮时添加额外的列以形成表格

php - 从 php 传递的 json 数组获取键 => 值

javascript - `setImmediate()` 和 `setTimeout()` 的计时如何受进程性能的约束?

jquery - 尝试解析 xhr.responseText