Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Don';如果单击子元素,则不会更改父元素的颜色_Javascript_Jquery_Css - Fatal编程技术网

Javascript Don';如果单击子元素,则不会更改父元素的颜色

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(){

这是我的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(){
$(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的背景色,但颜色不同,对吗?我编辑了我的答案。让我知道如果这是你想要的,我会解释你的编辑答案完美,非常感谢!