2012-04-12 40 views
0

我正在使用jquery选项卡。每个选项卡上都有一个“编辑”按钮,它隐藏标准文本并显示输入框。jquery show hide在标签中编辑

问题是,两个选项卡都受到影响。我知道每个人都可以使用不同的类(edit1,edit2等),但如果我有很多选项卡,该怎么办?

样品:http://jsfiddle.net/mgjTD/

什么是解决这个好办法?

$(document).ready(function() { 

    $('#sometabs').tabs(); 

    $('.edit_go').click(function(){ 
     $('.view').hide(); 
     $('.edit').show(); 
    }); 

    $('.view_go').click(function(){ 
     $('.view').show(); 
     $('.edit').hide(); 
    }); 
}); 

回答

1

可以使用.siblings()修复:

$('#sometabs').tabs(); 

$('.edit_go').click(function() { 
    $(this).siblings('.view').hide(); 
    $(this).siblings('.edit').show(); 
}); 

$('.view_go').click(function() { 
    $(this).parent().siblings('.view').show(); 
    $(this).parent().siblings('.edit').hide(); 
}); 

演示:http://jsfiddle.net/ThiefMaster/mgjTD/6/

+0

在你品尝,.view_go不起作用。当我添加此代码时,它根本不适用于我。有什么建议? – Josh 2012-04-12 06:49:15

+0

@Josh在那个例子中,jquery正在寻找'.view_go'元素的兄弟姐妹,但它没有兄弟姐妹,因为它在父元素中是独一无二的。 '.view_go'点击事件应该可以定位到具有兄弟姐妹的父元素。即http://jsfiddle.net/lollero/mgjTD/5/ – Joonas 2012-04-12 07:00:20

+0

固定它;现在尝试 – ThiefMaster 2012-04-12 07:04:52