如何切换不同ul li的内容?

时间:2016-06-21 14:16:32

标签: jquery toggle

当我在topmenu中点击li时,应显示另一个div块的ul。 我在Topmenu中ul li是这样的:

<ul class="level0" style="width: 925px;">
<li class="level1">
<a href="">Shop By Collection</a> 
</li>
<li class="level1">
<a href="">Shop By feature</a>
</li>
<li class="level1">
<a href="">All category</a>
</li>
</ul>

在另一个街区,我有ul li这样:

    <ul class="cat-list-1">
<?php foreach ($cats as $cat): ?>
 <li class="category-li-1">
<a href= "<?php echo $_helper->getCategoryUrl($cat) ?>" >
  <div class="main-cat-1" ><?php echo $cat->getName() ?> </div>
  </a>
  <?php $_category = Mage::getModel('catalog/category')->load($cat->getId()) ?>
                <?php $_subcategories = $_category->getChildrenCategories() ?>
                <?php if (count($_subcategories) > 0): ?>
                <div class="sub-cat-1 " style="display:none;">
                    <ul class="subcat-list-1">
                        <?php foreach($_subcategories as $_subcategory): ?>
                            <li>
                                <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
                                    <?php echo $_subcategory->getName() ?>
                                </a>
                            </li>
                        <?php endforeach; ?>
                    </ul>
                </div>
                <?php endif; ?>
</li>

<?php endforeach; ?>
</ul>

当我在topmenu中点击a的锚标记level1时,<div class="sub-cat-1 ">应切换并显示。

我试过的jquery是这样的:

 <script>
var $j = jQuery.noConflict();
$j(function() {
  $j('li.level1 a').click(function(e) {
      $j('div.sub-cat-1:visible').hide();
    $j('div.sub-cat-1', this).toggle();
  });

});
</script>

但是当我点击level 1时,div sub-cat-1没有打开(即)div没有切换。如果我错了,请有人纠正我。

1 个答案:

答案 0 :(得分:0)

只要display设置为none,你就可以尝试强制它显示你想要的东西,但是浏览器在渲染的上下文中没有丝毫的线索。

你会想要使用“visibility:hidden;”在sub-cat-1 div而不是“display:none;”我希望它能正常工作:)