首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让代码更简单,如果我需要点击a eq(0) show b eq(0)隐藏他人,a eq(1) show b eq(1)隐藏他人?

如何让代码更简单,如果我需要点击a eq(0) show b eq(0)隐藏他人,a eq(1) show b eq(1)隐藏他人?
EN

Stack Overflow用户
提问于 2013-01-17 12:58:41
回答 3查看 299关注 0票数 1

如何让下面的代码更简单,更少?

谢谢。

代码语言:javascript
复制
<div class="btn"><div>0</div><div>1</div><div>2</div></div>
<div class="content"><div>0</div><div>1</div><div>2</div></div>

$('.btn div:eq(0)').click(function(){
    $('.content div').hide();
    $('.content div:eq(0)').show();
});
$('.btn div:eq(1)').click(function(){
    $('.content div').hide();
    $('.content div:eq(1)').show();
});
$('.btn div:eq(2)').click(function(){
    $('.content div').hide();
    $('.content div:eq(2)').show();
});
$('.btn div:eq(3)').click(function(){
    $('.content div').hide();
    $('.content div:eq(3)').show();
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-17 13:03:36

代码语言:javascript
复制
$(".btn div").click(function () {
   $(".content div").hide().eq($(".btn div").index(this)).show();
});

http://jsfiddle.net/Xepmg/

票数 2
EN

Stack Overflow用户

发布于 2013-01-17 13:02:55

尝尝这个

代码语言:javascript
复制
$('.btn div').click(function(){
    $('.content div').hide();
    $('.content div:eq('+$(this).index()+')').show();
});

jsfiddle

票数 2
EN

Stack Overflow用户

发布于 2013-01-17 13:13:55

你可以这样做:

代码语言:javascript
复制
var numClicked = '';

$('.btn div').on('click', function() {
     numClicked = $('.btn div').index(this);
     $('.content div').hide();
     $('.content div').eq(numClicked).show();
});

还有一种更好的方法,尽管我不能完全记住它是如何做到的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14372452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档