我正在尝试制作简单的show-hide示例,但我无法使用eq()或不选择隐藏元素()。 基本结构是这样的:
<ul id="info">
<li><a href="#">İletişim Adreslerimiz</a></li>
<li><a href="#">Kroki</a></li>
</ul>
<ul id="info-ic">
<li><p>Adres Bilgilerimiz</p></li>
<li><p>Kroki Bilgisi</p></li>
</ul>
和jquery代码:
$('#info > li').click(function(){
$('#info-ic').find('li:eq('+$(this).index()+')').show();
$('#info-ic').find('li:not('+$(this).index()+')').hide();
});
答案 0 :(得分:2)
find()
搜索所选元素的后代,而不是元素本身。使用:
$('#info-ic > li:eq(' + $(this).index() + ')')
$('#info > li:eq(' + $(this).index() + ')')
或者:
$('#info-ic').children('li:eq(' + $(this).index() + ')')
$('#info').children('li:eq(' + $(this).index() + ')')