当点击一组<div>
中的第n个孩子时,如何在一组<li>
中选择第n个孩子?
HTML下面
<ul>
<li><a href="#">link</a></li>
<li><a href="#">link</a></li>
......
<li><a href="#">link</a></li>
</ul>
<div class="info">
...
</div>
<div class="info">
...
</div>
......
<div class="info">
...
</div>
例如,当点击第二个<a>
中的<li>
时,应该选择第二个<div class="info">
。
感谢
答案 0 :(得分:2)
这有效:
$("li a").click(function(){
$(".info").eq($("li a").index(this)).hide();
});
答案 1 :(得分:1)
解决方案很简单,使用您的代码进行测试。将隐藏点击的元素。这里有一个包含更多元素http://jsfiddle.net/v2vqm/
的工作示例$("ul li a").each(function(index){
$(this).click(function(){
$('.info').eq(index).hide();
});
});
说明,您正在迭代加载脚本时可用的所有现有li a
元素。通过该迭代,您可以传递相应的index
,我们稍后会通过.info
方法选择正确的eq(index)
元素。
请注意,hide()
仅用于演示。
相关文档:
答案 2 :(得分:0)
这应该给你一个粗略的想法(未经测试)
$('ul li').click(function() {
var i = $(this).index();
$('.info:eq('+i+')').addClass('selected');
return false;
});
我已经创建了一个快速演示来展示这项工作:http://jsfiddle.net/Jbgkm/