0

最も近い show_data div を toggle_container div で選択しようとしていますが、何も選択されません。

html:

<div class="section_header">
    HEADER
    <div class="toggle_container">
        Hide
    </div>
</div>
<div class="show_data">
    HEADER <span id="show_viewed_link">Show</span>
</div>

jquery:

$(".show_data").css("display", "none");
$(".toggle_container").live('click', function () 
{
    if ($.trim($(this).html()) === 'Hide') 
    {
        $(this).parent().slideUp("normal");
        $(this).parent().closest(".show_data").css("display", "block");
    } 
    else 
    { 
        $(this).parent().slideDown("normal");
        $(this).parent().closest(".show_data").css("display", "none");
    }
});
4

1 に答える 1

3

兄弟が必要です:-

Closest は DOM ツリーをたどって検索を行いますが、ここshow_dataでは の祖先ではありませんtoggle_container。親の兄弟です。

$(this).parent().siblings(".show_data").css("display", "block");

それ以外の:-

$(this).parent().closest(".show_data").css("display", "block");

ドクから

最も近い

セット内の各要素について、要素自体をテストし、DOM ツリー内のその祖先をたどって、セレクターに一致する最初の要素を取得します。

兄弟

一致した要素のセット内の各要素の兄弟を取得します。オプションでセレクターによってフィルター処理されます。

于 2013-05-12T17:14:13.343 に答える