javascript - 使用 jQuery,我能否定位一个元素以仅在父元素悬停时显示其子元素?

标签 javascript jquery html css

好的,我目前正在处理一个包含两个元素的页面,父元素和子元素。

<div id="parent">Hi 
<span class="child">Bye</class> 
</div>

我想要的是在父元素悬停时显示子元素。所以我在 jQuery 中创建了一个函数,它可以让我做到这一点。

function icondisplay(parentId){

 $(parentId).mouseenter(function() {

    $('.child').show();
});

$(hover).mouseleave(function() {

    $('.child').hide();

    });

}

我遇到的问题是页面中有多个具有不同 ID 的父元素,但子元素都是同一个类。因此,当我将鼠标悬停在任何父元素上时,所有子元素都会同时显示。我怎样才能只在父显示中制作子元素,而不是通过给每个子元素一个唯一的类/id 然后改变我的功能?

谢谢

最佳答案

不要使用 jQuery,使用 CSS。

.child {
    display: none;
}
*:hover > .child {
    display: inline;
}

我犹豫是否要添加这个,因为 CSS 方法更有意义,但我们开始吧:如果你必须使用 jQuery,请使用 :has( > .child):

$("div:has(> .child)").hover(function()
    $("> .child", this).show();
}, function() {
    $("> .child", this).hide();
});

关于javascript - 使用 jQuery,我能否定位一个元素以仅在父元素悬停时显示其子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7002441/

相关文章:

javascript - 我可以在不使用 'this' 的情况下重写 Javascript 吗?

javascript - 对 require JS 感到困惑

Internet Explorer 中的 jquery ajax 发布错误

javascript - 从 Javascript 访问 Gridview 单元格

javascript - 如何在 three.js 中导入 json 和渲染

php - 如何在 PHP 中的列表框中保留值?

javascript - 触发事件

javascript - Angular Material 日期选择器位置错误,Chrome 除外

javascript - 如何将 HTML 放入 jquery 或 javascript 函数中以便稍后添加?

html - 为什么页脚不在底部