使用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

编辑—————–当spanclass="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/