使用jQuery在hover时选择父级的兄弟
我正在尝试更改.target
的css,它是.hover
父级的.hover
。 似乎无法让这个代码工作 – 我不确定我的函数开头是否需要$(this),或$(’。target’)…我认为它可能是.target因为那个是我正在改变.css()
。
$(document).ready(function() { $('.hover').hover( function(){ $(this).parent().siblings('.target').css('display', 'inline'); }, function(){ $(this).parent().siblings('.target').css('display', 'none'); } ); });
这是我的预感(这也行不通):
$('.target').parent(this).sibling().css('display', 'inline');
这是html
Hover
编辑—————–当span
为class="hover"
时,它似乎不起作用。
EDIT numero dos ——————–似乎我的两个父母很深,需要
.parent().parent()
谢谢。
安迪,检查这个小提琴,你似乎在你发布的第一个样本中有正确的代码。 如果您可以发布您的HTML,我们可能会有更好的时间帮助您。 http://jsfiddle.net/nKtzB/3/
假设您的html符合您的预期,并且没有看到它我无法评论改进,这应该工作:
$('.target').parent().siblings('.target').css('display', 'inline');
或者,如果.target
元素是下一个兄弟:
$('.target').parent().next('.target').css('display', 'inline');
或者,如果以前的兄弟姐妹(以及您发布的html 是以前的兄弟姐妹):
$('.target').parent().prev('.target').css('display', 'inline');
参考文献:
-
.siblings()
。 -
.parent()
。 -
.sibling()
。 -
.prev()
。 -
.next()
。
如果您尝试使用display:block
执行某些操作,请尝试使用display:block
block。
您的代码仍然正常,请参阅: http : //jsfiddle.net/Mx4ks/1/
其他一些必须是错误的..尝试粘贴你的HTML 🙂
在这里查看您自己的代码: http : //jsfiddle.net/Mx4ks/