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(即使我只看到一个)试试这个

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

于 2014-02-22T19:00:36.083 回答
1

检查这个小提琴

$(document).ready(function() {
    $(".tpl").click(function(){
        $('.tpl').toggleClass('grey blue');
    });
});
于 2014-02-22T19:09:41.680 回答