Javascript Don';如果单击子元素,则不会更改父元素的颜色
这是我的HTML:Javascript Don';如果单击子元素,则不会更改父元素的颜色,javascript,jquery,css,Javascript,Jquery,Css,这是我的HTML: .imageURL:active.image\u submit\u div{ 背景色:#ccc; /*无效*/ } .image\u submit\u div:活动{ 背景色:#e6; } +添加文件 使用Jquery和类似 $(函数(){ $('#id_imageURL')。在('focus',function()上{ $(this).closest('label').css('background','#ccc'); }).on('blur',function(){
.imageURL:active.image\u submit\u div{
背景色:#ccc;
/*无效*/
}
.image\u submit\u div:活动{
背景色:#e6;
}
+添加文件
使用Jquery和类似
$(函数(){
$('#id_imageURL')。在('focus',function()上{
$(this).closest('label').css('background','#ccc');
}).on('blur',function(){
$(this).closest('label').removeAttr('style');
})
});代码>
.image\u submit\u div{
位置:相对位置;
边框:1px实心#ccc;
显示:内联块;
填充:20px 50px;
宽度:55%;
高度:320px;
光标:指针;
背景:#e6;
边际:0.25px;
}
.image\u submit\u div:活动{
背景色:#ededed;
}
.imageURL:活动。图像\u提交\u div{
背景色:#ededed;
}
+添加文件
在CSS中,不能根据父对象的子对象(或该子对象上的事件)设置父对象的样式。您不能执行类似于子对象:悬停父对象{styles}
的操作
Css只能从上到下工作parent:hover child{styles}
你的问题有点不清楚,但你可以用JQ来解决这个问题
您可以使用mousedown
和mouseup
事件来实现您想要的功能
$(“.imageURL”)
.mousedown(函数(e){
$(this).parent(“.image\u submit\u div”).addClass(“有色”)
})
.mouseup(函数(){
$(this).parent(“.image\u submit\u div”).removeClass(“有色”)
});代码>
.image\u submit\u div:活动{
背景色:红色;
}
.image\u submit\u div.colored{
背景颜色:蓝色;
}
.image_submit_div{
显示:块;
}
+添加文件
你的问题没有多大意义。您能否编辑您的问题,以显示该问题的一个工作片段,以及您试图实现的目标的清晰陈述。还有,这与JS/jQuery有什么关系?“子div是imageURL”-你是指不是div而是输入的div…?是的,这是输入而不是div,我错了。现在将进行编辑。好的,我使用第二个示例。当我使用:$(“.imageURL”).on(“单击”,function(){$(this).parent(.image\u submit\u div”).css({“背景色”:“#e6e6”})代码>第一次单击imageURL时,父div会改变颜色。但此后每隔一段时间,它都能正常工作。知道为什么吗?现在在代码段中尝试一下,但是当你点击它时,父div也必须改变颜色。另外,当我说更改颜色时,我的意思是:active
,所以不要永久更改颜色。这是我的代码片段:@Zorgan,让我理解。当您单击父div时,您希望更改它的背景色。当您单击输入时,您还想更改父div的背景色,但颜色不同,对吗?我编辑了我的答案。让我知道如果这是你想要的,我会解释你的编辑答案完美,非常感谢!