Javascript 如何查找上次单击的动态按钮

Javascript 如何查找上次单击的动态按钮,javascript,jquery,.net,Javascript,Jquery,.net,我创建了一个动态按钮,每个按钮都是相同的: <input type="button" id="editBtn" value="Edit" style="float: right" />//each button has its id ofcourse //每个按钮当然都有自己的id 当按下一个按钮时,显示一张桌子。 我正在寻找一种方法来“单击最后一个按钮”/“隐藏表格”,如果页面上的其他按钮被单击 使用Jquery,可能吗?或者有更好的方法吗?如果您想使用按钮(隐藏/显示)显示内

我创建了一个动态按钮,每个按钮都是相同的:

<input type="button" id="editBtn" value="Edit" style="float: right" />//each button has its id ofcourse
//每个按钮当然都有自己的id
当按下一个按钮时,显示一张桌子。 我正在寻找一种方法来“单击最后一个按钮”/“隐藏表格”,如果页面上的其他按钮被单击


使用Jquery,可能吗?或者有更好的方法吗?

如果您想使用按钮(隐藏/显示)显示内容

您可以使用jquery函数来实现这一点


链接到

只需隐藏所选表的所有同级

例如,如果您有(伪代码)

但当然,这些都是非常硬编码的&因此是一种可以避免的做法


或如评论中所述:

function showTable() {

    var tableId = $(this).index();

    $("table").hide().eq(tableId).show();
}

我想我解决了你的问题试试这把小提琴

  See output on below fiddle

风格:

.tbl{
 display:none;
 }
Jquery:

  $(".btn").click(function(){
  var $this = $(this).next("table");
  $( this ).next("table").removeClass("tbl"); 
  $(".btn").next("table").not($this).addClass("tbl");
  });
Html:


测试1
测试2

我想这就是你想要的:

这将记住您已查看的表,并允许您使用基本JavaScript数组push/pop查看以前的所有表

以下是JavaScript(查看完整代码):


有点困惑。!再解释一下。你的意思是单击
a
按钮,然后表格显示,当单击
b
按钮时,表格隐藏?是!单击b按钮时,b按钮表格显示和a按钮表格隐藏不能同时显示两个表格。@user2560521即使您正在创建动态按钮,也要为它们指定不同的id,然后将要显示的表格分配给它……您可以使用此.id访问按钮。我需要不显示最后一个表格。。不是一个属于点击按钮的按钮我不能这样做硬编码,在想一些类似的事情-如果这点击找到最后点击并关闭它(再次点击关闭),但我找不到一种方法来写它执行..它也可以像。。全部隐藏&显示单击的内容。不需要记住最后一个..听起来很合适。。如何做到这一点?如上所述。隐藏所有表&显示与单击按钮的索引等效的表。
  See output on below fiddle
.tbl{
 display:none;
 }
  $(".btn").click(function(){
  var $this = $(this).next("table");
  $( this ).next("table").removeClass("tbl"); 
  $(".btn").next("table").not($this).addClass("tbl");
  });
 <div class="tble">
  <input type="button"  value="Button1" class="btn"/>
  <table class="tbl"><tr><td>test1</td></tr></table>
 </div> 

 <div class="tble">
  <input type="button"  value="Button2" class="btn" /> 
  <table class="tbl"><tr><td>test2</td></tr></table>
 </div>
var viewedTableHistory = [];

hideAllTables=function(){
    $('table[id^="table"]').hide();  //hide all tables
}

loadTable=function(id){
    viewedTableHistory.push(id);
    $('#history').text(viewedTableHistory);
    hideAllTables();
    showCurrentTable();
};

hideCurrentTable=function()
{
    $('#table'+viewedTableHistory[viewedTableHistory.length-1]).hide();
};

showCurrentTable=function()
{
    $('#table'+viewedTableHistory[viewedTableHistory.length-1]).show();
};

viewPrevTable=function()
{
    hideAllTables();
    viewedTableHistory.pop();
    $('#history').text(viewedTableHistory);
    if(viewedTableHistory.length===0) alert('You are back to the beginning.');
    showCurrentTable();
};