Javascript 更改悬停时的Div标记属性
当您将鼠标悬停在不同的div标记上时,是否可以更改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将鼠标悬停在单独的元素上时,可以修改元素 如您所见,它仅限于修改子元素和随后的兄弟元素。在前者中,当您将鼠标悬停在整
#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标记。不是共享同一父级的任何元素,而是在同一父级中紧随其后的任何元素(无论是否立即)。不是共享同一父级的任何元素,而是在同一父级中紧随其后的任何元素(无论是否立即)。