And*_*sen 6 jquery jquery-selectors
我正试图改变.target
那个兄弟的兄弟姐妹.hover
.似乎无法使这段代码工作 - 我不确定我的函数开头是否需要$(this),或$('.target')...我认为它可能是.target因为那个是我正在改变的CSS .css()
.
<script type="text/javascript">
$(document).ready(function() {
$('.hover').hover(
function(){
$(this).parent().siblings('.target').css('display', 'inline');
},
function(){
$(this).parent().siblings('.target').css('display', 'none');
}
);
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是我的预感(也不起作用):
$('.target').parent(this).sibling().css('display', 'inline');
Run Code Online (Sandbox Code Playgroud)
这是html
<div class="target" style="display: none;">
</div>
<div>
<span class="hover">Hover</span>
</div>
Run Code Online (Sandbox Code Playgroud)
编辑-----------------看来,当它不工作span
的class="hover"
.
EDIT numero dos --------------------看来我的<span>
父母很深,需要.parent().parent()
谢谢.
假设您的html符合您的预期,并且没有看到它我无法评论改进,这应该工作:
$('.target').parent().siblings('.target').css('display', 'inline');
Run Code Online (Sandbox Code Playgroud)
或者,如果.target
元素是下一个兄弟:
$('.target').parent().next('.target').css('display', 'inline');
Run Code Online (Sandbox Code Playgroud)
或者,如果之前的兄弟(以及您发布的html 是以前的兄弟):
$('.target').parent().prev('.target').css('display', 'inline');
Run Code Online (Sandbox Code Playgroud)
参考文献: