页面加载时JQuery隐藏'以'开头,以后无法取消隐藏

时间:2015-04-25 23:11:05

标签: jquery

我想在加载页面时隐藏div。它是一个动态div虽然被分配了一个类名,然后根据其他标准添加一个数字。

所以我有这个。

$(function() {
  $("[class^='myClass']").hide();
});

问题是,稍后,当我尝试显示div时,我只想展示其中一个。所以我试试这个。

$(document).ready(function() {
  $("[class^='showDiv']").click(function() {
    // I use the showDiv value (array index) to get the specific
    //  class I need to now show

    $(".myClass2").show();

  });
});

问题是,它没有显示我的课程。我认为这是因为'隐藏'函数隐藏了以' myClass'开头的所有内容。当我试图展示特定的' .myClass2'时,它有点压倒一切。因为它被早先的隐藏所隐藏。

但是,我无法取消隐藏。否则所有元素都会出现。

我在这里失去了什么。

感谢。

修改

我尝试了这个,它确实有用。

而不是刚刚隐藏在开头,我这样做。

$(function() {
      $("[class^='myClass']").each(function( index ) {
          $(".myClass" + index).hide();
      });

    });

这很好用。因此,我非常确定从一开始就用一张外卡隐藏一个班级'是我的问题..

有比这更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

这个怎么样? 一对一关系样本

jsfidle

JavaScript的:

$(function() {
    $('.myClass').hide();

    $('.showDiv').click(function() {
        var index = $('.showDiv').index(this);

        $('.myClass:eq(' + index + ')').toggle();
    });
});

HTML:

<div>
    <div class="showDiv">showDiv</div>
    <div class="showDiv">showDiv</div>
    <div class="showDiv">showDiv</div>
</div>

<div>
    <div class="myClass">myClass 1</div>
    <div class="myClass">myClass 2</div>
    <div class="myClass">myClass 3</div>
</div>