我在一个单元格中有一个表格,显示用户使用按钮输入的数字(使用 onclick 和 showthis 函数。我需要能够将该值存储为变量以便对其执行操作。我如何才能做这个?
PS: 我正在使用 JavaScript 和 HTML
<script language="JavaScript" type="text/javascript">
function showthis(first){
document.getElementById("displaycell").innerHTML+=first;
}
</script>
<body>
<h1 align="center"> RPN Calculator </h1>
<table summary align="center" border="1" cellpadding="1" cellspacing="3">
<tr>
<th id="displaycell" colspan="5" type="text"> </td>
</tr>
<tr>
<td>
<button type="button" onclick="showthis('1')">1</button>
</td>
<td>
<button type="button" onclick="showthis('2')">2</button>
</td>
<td>
<button type="button" onclick="showthis('3')">3</button>
</td>
<!-- ... -->
最佳答案
首先你不应该使用 +=
与 innerHTML
.这意味着您最终会将数字附加到单元格的内部值而不是覆盖它。
function showthis ( number ) {
var cell = document.getElementById('displaycell');
cell.innerHTML = "";
cell.appendChild( document.createTextNode( number ));
}
这将是一种更好的处理方式。
接下来,在 showthis 中,您最好将值存储在变量中,以便将来可以直接从 javascript 访问它。
var displayStore = 0;
function showthis ( number ) {
var cell = document.getElementById('displaycell');
cell.innerHTML = "";
cell.appendChild( document.createTextNode( number ));
// you can either do this in a variable local to the <td> DOM Object like so
cell.currentDisplayNumber = number;
//or in a global variable like so
displayStore = number;
}
最后,要再次访问该变量,您可以从 displaystore <td>
中读取它或从您的变量中读取它。
function DoStuff0 () {
var number = Number( document.getElementById( 'displaycell' )).innerHTML;
// rest
}
function DoStuff1 () {
var number = document.getElementById('displaycell').currentDisplayNumber;
// rest
}
function DoStuff2 () {
var number = displayStore;
// rest
}
关于javascript - 如何使单元格中的表格成为变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439175/