1
    $(".toggle-more-less").click(function() {
        $(this).closest(".article").toggleClass("show-hide");          
    });

スペースを節約するために、スマートフォンサイズのサイトの記事の長さを切り替えようとしています。

これでうまくいくと思いましたが、.closest()がわかりません。

ここにjsfiddleがあります。

どの方向もGRRRRREATになります!

4

3 に答える 3

4

$(this)は関数を開始したアイテムを意味するため、この場合は'$( "。toggle-more-less")'です。Closestは、設定された基準に適合する$(this)に最も近い親を探します。したがって、この場合、「図」に達するまでdomを上向きにトラバースします。

$(this).closest('figure').find("figcaption").toggleClass("show");

フィドル: http: //jsfiddle.net/6whzQ/

于 2012-12-18T02:29:12.597 に答える
2

簡単な解決策は次のようになります。$(this).parent().find("figcaption").toggleClass("show");

于 2012-12-18T02:26:56.053 に答える
2

http://jsfiddle.net/q7kjr/3/

$(this).prev().toggleClass("show");
$(this).prev("figcaption").toggleClass("show");
$(this).closest('figure').find("figcaption").toggleClass("show");

ドキュメント:

http://api.jquery.com/prev/

http://api.jquery.com/closest/

于 2012-12-18T02:27:36.367 に答える