0

私のウェブサイトでコラーゼ展開機能を構築しようとしています。

非表示の div のみを切り替えて、「展開」テキストを折りたたみに変更しようとする次のものがあり、もう一度クリックすると、折りたたみ>展開します。

誰かが私が間違っていることを見ることができますか?

$('.coverage .expand').click(function(){
    $(this).parent().parent().find('.subitems').toggle('slow', function() {
        var togtit = $(this).parent().find('.expand');
        if((togtit).is('Expand')){
            togtit.html('Collapse')
        } else {
            togtit.html('Expand')
            }
    });
});
4

2 に答える 2

1

問題は、.is()メソッドを間違った方法で使用することです。代わりに次のことを試してください。

$(this).parent().find(".expand").html(function(i, html) {
    return html === "Expand" ? "Collapse" : "Expand";
});
于 2013-01-15T11:13:27.193 に答える
1
if(togtit.html() == 'Expand'){
     togtit.html('Collapse')
} else {
     togtit.html('Expand')
}

上記で動作するはずです。

現在一致している要素のセットをセレクター、要素、または jQuery オブジェクトに対してチェックし、これらの要素の少なくとも 1 つが指定された引数と一致する場合は true を返します。

要素がセレクターと一致するかどうかを確認するには、jQuery.isを使用する必要があります。要素の内部コンテンツはテストされません。

于 2013-01-15T11:14:07.503 に答える