0

( 、and ) 内div#contentに 3 つの sがあり、それぞれにいくつかの子要素もあります。いつでも、3 つの s のうちの 1 つだけが表示されます。アクティブを変更するコードは次のとおりです。divproduct-a-contentproduct-b-contentproduct-c-contentdivdiv

    $('.mainmenuitem').click(function(){
        $('#content div').hide();
        $('#content div#' + this.id + '-content').show();
    });

そしてマークアップ:

<div id="mainmenu">
    <div id="product-a" class="mainmenuitem"></div>
    <div id="product-b" class="mainmenuitem"></div>
    <div id="product-c" class="mainmenuitem"></div>
    <div style="clear: both;"></div>
</div>
<div id="content" class="box">
        <div id="product-a-content"><?php echo $product_a_info; ?></div>
        <div id="product-b-content"><?php echo $product_b_info; ?></div>
        <div id="product-c-content"><?php echo $product_c_info; ?></div>
</div>

それらは になりhideますが、アクティブではなく、アクティブにすることはできません。id(権利が再び表示されるように返されることさえ確信しています)。

4

1 に答える 1

2

$('#content div')要素の間接的な子要素を含め、div内部のすべてを非表示にします。要素を表示し直すと、直接の子 div のみが表示されます。#content#content

要素を非表示にするときは、直接の div のみを非表示にする必要があります

試す

$('.mainmenuitem').click(function(){
    $('#content > div').hide();
    $('#' + this.id + '-content').show();
});
于 2013-07-29T03:51:20.847 に答える