我想在单击父元素的父元素的子元素中添加类。那不是那么令人兴奋......
$('.parent').click(function(){
$(this).children().addClass('newClass');
});
但是,我不想在click子元素本身上向子元素添加'newClass'......这可能吗?
Exp:http://jsfiddle.net/qxz1bLt8/
提前致谢!
答案 0 :(得分:0)
<击> 尝试在此上下文中使用多个选择器,
$(document).ready(function () {
$('.parent,.parent >').click(function () {
$(this).closest('.parent').children().addClass('newClass');
});
});
<击> 撞击>
抱歉,我误解了这个问题,试着检查一下目标元素是否有班级孩子。如果没有将类添加到它。
$(document).ready(function () {
$('.parent').click(function (e) {
$(this).children().toggleClass('newClass', !$(e.target).hasClass(".child"));
});
});
答案 1 :(得分:0)
您可以使用活动的target
属性。您可以获得有关被点击元素的信息:
$('.parent').click(function(event){
if($(event.target).hasClass('parent')) {
$(this).children().addClass('newClass');
}
});
答案 2 :(得分:0)
您可以使用.is()
检查event.target
是否不是child
,然后添加课程。
event.target
:发起事件的DOM元素。
使用
$('.parent').click(function (event) {
if ($(event.target).is('.child') == false) {
$(this).children().addClass('newClass');
}
});