在我的情况下,如何使用jquery获取指定的选择器?

在我的情况下,如何使用jquery获取指定的选择器?,jquery,html,css,Jquery,Html,Css,我想显示a标签下面的所有内容,例如article11和article22鼠标输入的▼在content1中 $(函数(){ $(“ul#nav span”).悬停(函数(){ log(“我在鼠标上方”); $(this).parent().silbings().next().show(); },函数(){ log(“我在鼠标左键”); }); }); *{ 边际:0px; 填充:0px; 文字装饰:无; } ul#nav li{ 宽度:120px; 高度:30px; 线高:30px; 浮动:左;

我想显示
a
标签下面的所有内容,例如
article11
article22
鼠标输入的
content1

$(函数(){
$(“ul#nav span”).悬停(函数(){
log(“我在鼠标上方”);
$(this).parent().silbings().next().show();
},函数(){
log(“我在鼠标左键”);
});
});
*{
边际:0px;
填充:0px;
文字装饰:无;
}
ul#nav li{
宽度:120px;
高度:30px;
线高:30px;
浮动:左;
列表样式:无;
文本对齐:居中;
}
a{
显示:块;
边框:1px纯黑;
}
ul#nav>li>ul>li>a{
显示:无;
}


首先,你有一个打字错误。正确的方法名称是
sillides()
而不是
silbings()
。无论如何,您都不需要该调用,因为
next()
可以在同级元素上工作

其次,当已经显示的同级
ul
元素上调用
show()
时,逻辑不起作用。CSS将隐藏子
a
元素,因此需要
find()
它们。还请注意,您可以只调用
toggle()
,而不是为
hover()
提供两个处理程序:

$(函数(){
$(“ul#nav span”).悬停(函数(){
$(this.parent().next().find('a').toggle();
});
});
*{
边际:0px;
填充:0px;
文字装饰:无;
}
ul#nav li{
宽度:120px;
高度:30px;
线高:30px;
浮动:左;
列表样式:无;
文本对齐:居中;
}
a{
显示:块;
边框:1px纯黑;
}
ul#nav>li>ul>li>a{
显示:无;
}


首先,你有一个打字错误。正确的方法名称是
sillides()
而不是
silbings()
。无论如何,您都不需要该调用,因为
next()
可以在同级元素上工作

其次,当已经显示的同级
ul
元素上调用
show()
时,逻辑不起作用。CSS将隐藏子
a
元素,因此需要
find()
它们。还请注意,您可以只调用
toggle()
,而不是为
hover()
提供两个处理程序:

$(函数(){
$(“ul#nav span”).悬停(函数(){
$(this.parent().next().find('a').toggle();
});
});
*{
边际:0px;
填充:0px;
文字装饰:无;
}
ul#nav li{
宽度:120px;
高度:30px;
线高:30px;
浮动:左;
列表样式:无;
文本对齐:居中;
}
a{
显示:块;
边框:1px纯黑;
}
ul#nav>li>ul>li>a{
显示:无;
}


为什么$(this).parent().sibbins().children()无法获取预期的元素?因为这会查看
li
元素,这些元素同样是可见的。隐藏的是
a
元素。$(此).parent().sibles().children().children().children()获取我所需的元素。当然它会工作,但该死的,这太难看了。只需像答案所示使用
find()
,或者更好地使用CSS。为什么$(this).parent().sibles().children()无法获得预期的元素?因为这会查看
li
元素,它们同样是可见的。隐藏的是
a
元素。$(此).parent().sibles().children().children().children()获取我所需的元素。当然它会工作,但该死的,这太难看了。只需像答案所示使用
find()
,或者更好地使用CSS。