0

.wwd-extra-content-triggerページ上にとの多くのインスタンスがあり.wwd-extra-content、それぞれが.wwd-content-eachdiv 内にあります。

トリガーをクリックすると、wwd-content-each 内の余分なコンテンツのみが展開されるように、いくつかのコードを記述しようとしています。現在、私の現在のコードでこれを行うと、独自のコンテンツではなく、クリック時にすべての余分なコンテンツが展開されます。each (this) または each() を使用する必要があることはわかっていますが、どこで使用するのかわかりません。

$('.wwd-content-container .wwd-content-each .wwd-extra-content-trigger').click(function(e) {
    jQuery('span', this).text($('span', this).text() == 'navigateup' ? 'navigatedown' : 'navigateup');
    jQuery('.wwd-extra-content').fadeToggle();
});

前もってありがとう、R

4

3 に答える 3

1

これを変える:

jQuery('.wwd-extra-content').fadeToggle();

これに:

jQuery(this).closest('.wwd-content-each').find('.wwd-extra-content').fadeToggle();

関連する HTML も少し表示すると、おそらく最適化できます。

于 2013-06-07T08:24:26.187 に答える
1

正確な HTML レイアウトに応じて、次のいずれかを使用できます。

$('.wwd-extra-content-trigger').click(function(e) {
    $(this).siblings('.wwd-extra-content').fadeToggle();
});

またはこれ:

$('.wwd-extra-content-trigger').click(function(e) {
    $(this).closest('.wwd-content-each').find('.wwd-extra-content').fadeToggle();
});

最初のバージョンでは、コンテンツ トリガーとコンテンツが同じ HTML 要素の子であると想定しています。2 番目のバージョンは、共通.wwd-content-eachの祖先を共有していると想定しています。

于 2013-06-07T08:24:40.737 に答える
1
$(this).parent().find('.wwd-extra-content').fadeToggle()

トリックを行う必要があります。または、最も近いを使用できます。

于 2013-06-07T08:23:50.117 に答える