如何防止子div
:hover
事件被其父:hover
事件覆盖?
这就是我创建div
元素的方式:
HTML
<script type="text/javascript">
var counterd = document.createElement("div");
counterd.id='counterdiv';
counterd.innerHTML = "(<?php echo $woocommerce->cart->cart_contents_count ?>)";
document.getElementById('menu-item-130').appendChild(counterd);
document.getElementById("counterdiv").setAttribute('onclick', 'location.href = "/varukorg"');
</script>
改变样式的 CSS 是:
#menu-item-130:hover #counterdiv, #menu-item-130.current_page_item #counterdiv {
color: black;
}
我也有一些 CSS 规则来设置样式#menu-item-130
。:hover
鼠标移过时会出现问题#counterdiv
,它将#counterdiv
文本更改为黑色。我不希望#counterdiv
元素在悬停时触发父事件。的悬停 CSS#menu-item
如下:
#menu-item-130 a:hover, #menu-item-130.current_page_item a {
background: url(../images/cart-59-24black.png) gray 21px 18px no-repeat!important;
}
并且由于这两个div
元素都有属性position:relative;
,我尝试过,z-index
但它似乎不起作用。我知道div
在悬停孩子时让父母改变风格是不可能的。
编辑:大家好,我找到了一个像硬代码这样的解决方案,但它的工作;)因为计数器 div 在顶部,我将悬停时的 #counterdiv 设置为与 #menu-item-130 相同的大小,并为其设置了相同的背景样式所以现在它的工作。无论如何感谢您的帮助..