Javascript 使用jQuery,我可以将一个元素作为目标,仅当父元素悬停在其上时才显示其子元素吗?
好的,我现在正在做一个页面,我有两个元素,父元素和子元素Javascript 使用jQuery,我可以将一个元素作为目标,仅当父元素悬停在其上时才显示其子元素吗?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,好的,我现在正在做一个页面,我有两个元素,父元素和子元素 <div id="parent">Hi <span class="child">Bye</class> </div> 我遇到的问题是,页面中有多个具有不同ID的父元素,但子元素都是同一个类。因此,当我将鼠标悬停在任何父元素上时,所有子元素都会同时显示。如何在父级显示中仅生成子元素,而不遍历每个子元素并为其指定唯一的类/id,然后更改函数 谢谢那就行了 $(this).find('.ch
<div id="parent">Hi
<span class="child">Bye</class>
</div>
我遇到的问题是,页面中有多个具有不同ID的父元素,但子元素都是同一个类。因此,当我将鼠标悬停在任何父元素上时,所有子元素都会同时显示。如何在父级显示中仅生成子元素,而不遍历每个子元素并为其指定唯一的类/id,然后更改函数
谢谢那就行了
$(this).find('.child')
或
那就行了
$(this).find('.child')
或
不要使用jQuery,使用CSS
.child {
display: none;
}
*:hover > .child {
display: inline;
}
我不太愿意添加这一点,因为CSS方法更有意义,但现在我们开始:如果必须使用jQuery,请使用:has(>.child)
:
不要使用jQuery,使用CSS
.child {
display: none;
}
*:hover > .child {
display: inline;
}
我不太愿意添加这一点,因为CSS方法更有意义,但现在我们开始:如果必须使用jQuery,请使用:has(>.child)
:
您只需更改选择父母和子女的方式:
$('.parentElement').hover(function()
{
$(this).find('.child').show();
}, function()
{
$(this).find('.child').hide();
});
您只需更改选择父母和子女的方式:
$('.parentElement').hover(function()
{
$(this).find('.child').show();
}, function()
{
$(this).find('.child').hide();
});
像下面那样改变它
$(parentId).mouseenter(function() {
$(this).find('.child').show();
});
像下面那样改变它
$(parentId).mouseenter(function() {
$(this).find('.child').show();
});
当然可以
$('#parent').hover(function(){
$(this).children().show();
},function(){
$(this).children().hide();
});
并确保修复您的结束标记span
确保可以
$('#parent').hover(function(){
$(this).children().show();
},function(){
$(this).children().hide();
});
并确保修复您的结束标记
span
您可以使用CSS来完成此操作。假设HTML类似于:
<div class="parent">
<div class="child"></div>
</div>
您可以使用CSS来实现这一点。假设HTML类似于:
<div class="parent">
<div class="child"></div>
</div>
我会假设这样的事情:会解决你的问题。对于$(“div”)
您可以在函数中查找任何父ID。但是,您甚至不需要这样做。我假设这样做:可以解决您的问题。对于$(“div”)
您可以在函数中查找任何父ID。但是,您甚至不需要。是的,比使用jquery更好的解决方案!我认为你需要担心兼容性,IE支持CSS子选择器吗?@Andrew-如果你的用户使用的是IE6,那么你是对的-你不能使用子选择器。在这种情况下,您应该给所有父类一个公共类,并依赖于通常的后代选择器。但除非中国是你的目标人口,否则不要支持IE6。@gilly3我完全同意。在回答这些问题时,我倾向于谨慎行事,因为它并不总是说明支持什么,我不想给出一个不起作用的答案。是的,比使用jquery更好的解决方案!我认为你需要担心兼容性,IE支持CSS子选择器吗?@Andrew-如果你的用户使用的是IE6,那么你是对的-你不能使用子选择器。在这种情况下,您应该给所有父类一个公共类,并依赖于通常的后代选择器。但除非中国是你的目标人口,否则不要支持IE6。@gilly3我完全同意。在回答这些问题时,我倾向于谨慎行事,因为它并不总是说明支持什么,我不想给出一个不起作用的答案。谢谢你的指点。总是让我在有小提琴的时候更容易理解答案。谢谢你的小提琴。总是让我在有小提琴的时候更容易理解答案。