Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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 更改悬停时的Div标记属性_Javascript_Html_Css_Hover - Fatal编程技术网

Javascript 更改悬停时的Div标记属性

Javascript 更改悬停时的Div标记属性,javascript,html,css,hover,Javascript,Html,Css,Hover,当您将鼠标悬停在不同的div标记上时,是否可以更改div标记的属性 比如说, #tag1 { /* properties */ } #tag1 a:hover { /* new properties */ } #tag2 { /* contains a link */ } 其中,tag1经历了更改,但tag2包含将发生悬停的位置(或链接) 这是一个示例,说明了当您使用CSS将鼠标悬停在单独的元素上时,可以修改元素 如您所见,它仅限于修改子元素和随后的兄弟元素。在前者中,当您将鼠标悬停在整

当您将鼠标悬停在不同的div标记上时,是否可以更改div标记的属性

比如说,

#tag1 {

/* properties */
}
#tag1 a:hover {
/* new properties */
}


#tag2 {
/* contains a link */
}
其中,tag1经历了更改,但tag2包含将发生悬停的位置(或链接)

这是一个示例,说明了当您使用CSS将鼠标悬停在单独的元素上时,可以修改元素

如您所见,它仅限于修改子元素和随后的兄弟元素。在前者中,当您将鼠标悬停在整个对象上时,可以选择要修改的
div
的任何子对象。在后者中,
div
span
之间只要有一个

标记,就会破坏这种关系

编辑:我还忘记了您可以选择任何后续的元素,这些元素与使用
~
选择器触发悬停事件的元素共享同一父元素这是一个最新的解释。在这种情况下,悬停事件连接的两个元素之间的关系不会因此而中断。在JSFIDLE的情况下,所有元素都共享
主体
元素作为其父元素,因此通用同级选择器(
~
)能够选择它们

目前,CSS中没有父选择器。要进一步解释,请查看答案(要获得更深入的解释,一个也不错)

但是,这可以通过Javascript来实现,Javascript甚至可以让您选择没有直接关系的其他元素(父元素、子元素或相邻的兄弟姐妹元素)。

这是一个示例,说明了当您使用CSS将鼠标悬停在单独的元素上时,可以修改元素

如您所见,它仅限于修改子元素和随后的兄弟元素。在前者中,当您将鼠标悬停在整个对象上时,可以选择要修改的
div
的任何子对象。在后者中,
div
span
之间只要有一个

标记,就会破坏这种关系

编辑:我还忘记了您可以选择任何后续的元素,这些元素与使用
~
选择器触发悬停事件的元素共享同一父元素这是一个最新的解释。在这种情况下,悬停事件连接的两个元素之间的关系不会因此而中断。在JSFIDLE的情况下,所有元素都共享
主体
元素作为其父元素,因此通用同级选择器(
~
)能够选择它们

目前,CSS中没有父选择器。要进一步解释,请查看答案(要获得更深入的解释,一个也不错)


但是,这可以通过Javascript实现,Javascript甚至可以让您选择没有直接关系的其他元素(父元素、子元素或相邻的同级元素)。

只有当您希望更改的元素是悬停触发它的元素的相邻同级元素时,才可以这样做。是这样吗?这取决于HTML中
#tag1
#tag2
之间的关系。例如,如果
#tag2
紧跟在
#tag1
之后,您可以使用
#tag1:hover+#tag2
#tag1:hover~#tag2
。您应该能够使用javascript实现这一点,类似于
我可以创建元素来更改嵌套在tag1中的父div标记。只有当您希望更改的元素是其悬停触发它的元素的相邻同级元素时,才可能执行此操作。是这样吗?这取决于HTML中
#tag1
#tag2
之间的关系。例如,如果
#tag2
紧跟在
#tag1
之后,您可以使用
#tag1:hover+#tag2
#tag1:hover~#tag2
。您应该能够使用javascript实现这一点,类似于
我可以创建元素来更改嵌套在tag1中的父div标记。不是共享同一父级的任何元素,而是在同一父级中紧随其后的任何元素(无论是否立即)。不是共享同一父级的任何元素,而是在同一父级中紧随其后的任何元素(无论是否立即)。