Данный 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
Если вы просто хотите переключить ближайший.tpl (хотя я его вижу только), попробуйте это
$(document).ready(function() { $(".tpl p").click(function(){ $(this).closest('.tpl').toggleClass('grey'); }); });
$(document).ready(function() {
$(".tpl").click(function(){
$('.tpl').toggleClass('grey blue');
});
});
$(".tpl").on("click", "*", switch1() )
должен быть лучше, чтобы он работал на всех дочерних элементах (*)$(".tpl").on("click", "p", switch1() );
на$(".tpl").on("click", "p", switch1 );
jsfiddle.net/j08691/MRcCy/2