teh*_*man 1 html javascript css jquery
好的,所以我目前正在处理一个页面,其中有两个元素,父母和孩子.
<div id="parent">Hi
<span class="child">Bye</class>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要的是在父元素悬停时显示子元素.所以我在jQuery中创建了一个函数,让我能够做到这一点.
function icondisplay(parentId){
$(parentId).mouseenter(function() {
$('.child').show();
});
$(hover).mouseleave(function() {
$('.child').hide();
});
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是页面中有多个父节点具有不同的ID,但子元素都是相同的类.因此,当我将鼠标悬停在任何父元素上时,会立即显示所有子元素.如何只在父显示中创建子元素,而不通过并给每个子元素一个唯一的类/ id然后更改我的函数?
谢谢
不要使用jQuery,使用CSS.
.child {
display: none;
}
*:hover > .child {
display: inline;
}
Run Code Online (Sandbox Code Playgroud)
我不愿意添加这个,因为CSS方法更有意义,但我们走了:如果你必须使用jQuery,请使用:has( > .child):
$("div:has(> .child)").hover(function()
$("> .child", this).show();
}, function() {
$("> .child", this).hide();
});
Run Code Online (Sandbox Code Playgroud)
您只需要更改选择父项的方式,然后选择子项:
$('.parentElement').hover(function()
{
$(this).find('.child').show();
}, function()
{
$(this).find('.child').hide();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1525 次 |
| 最近记录: |