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();
};