Jquery 是否将类添加到子元素?是否只单击父元素而不单击子元素本身?
我想在单击“父元素”时将类添加到父元素的子元素。那不太令人兴奋Jquery 是否将类添加到子元素?是否只单击父元素而不单击子元素本身?,jquery,Jquery,我想在单击“父元素”时将类添加到父元素的子元素。那不太令人兴奋 $('.parent').click(function(){ $(this).children().addClass('newClass'); }); 但是,我不想在单击子元素本身时将“newClass”添加到子元素中。。。可能吗 经验: 提前谢谢 尝试在此上下文中使用多个选择器 $(document).ready(function () { $('.parent,.parent >').click(fun
$('.parent').click(function(){
$(this).children().addClass('newClass');
});
但是,我不想在单击子元素本身时将“newClass”添加到子元素中。。。可能吗
经验:
提前谢谢
尝试在此上下文中使用多个选择器
$(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"));
});
});
您可以使用事件的目标属性。因为您有关于单击的元素的信息:
$('.parent').click(function(event){
if($(event.target).hasClass('parent')) {
$(this).children().addClass('newClass');
}
});
您可以使用检查是否不是子类,然后添加类
event.target:启动事件的DOM元素
使用
谢谢你的回答,这很有效,但我认为我找到了一个更好的解决方案:e。stopPropagation@Mar,您也可以这样做,在这种情况下,您还需要将event与child绑定。没错..我不想使用event.target的原因是因为我曾经使用event.target遇到过ie问题。
$('.parent').click(function (event) {
if ($(event.target).is('.child') == false) {
$(this).children().addClass('newClass');
}
});