0

次のような HTML を指定すると、

<div class="tpl grey">Hosts:
    <p>Hi !</p>
    <p>How are you ?</p>
    <p>What ever.</p>
    <a href="./~">An other child & element type !</a>
</div>

子要素をクリックしてclass="grey"、最も近い親.tpl要素を切り替えるにはどうすればよいですか?


次のコードは失敗します:

//Action to do on parent $(".tpl") 
var switch1 = function () {
    $(this).closest(".tpl").toggleClass("blue grey");
}

// On() click event
$(document).ready(function() {
        $(".tpl").on("click", "p", switch1() );
});

フィドル: http://jsfiddle.net/MRcCy/1

4

2 に答える 2

1

最も近い .tpl を切り替えたいだけの場合 (1 つしか表示されませんが)、これを試してください

$(document).ready(function() { $(".tpl p").click(function(){ $(this).closest('.tpl').toggleClass('grey'); }); });

于 2014-02-22T19:00:36.083 に答える