基本javascript getElementById说明
我必须用HTML和JS做一个简单的计算器,因为我从来没有在JS上编程过,所以我有一个问题,为了得到正确的逻辑。代码如下: 我有一个功能,必须写在我的计算器屏幕上基本javascript getElementById说明,javascript,Javascript,我必须用HTML和JS做一个简单的计算器,因为我从来没有在JS上编程过,所以我有一个问题,为了得到正确的逻辑。代码如下: 我有一个功能,必须写在我的计算器屏幕上 function writeToScreen(a) { var elem = document.getElementById('screen'); switch (a.value) { case '+': { if (firstOperation) { lastOperat
function writeToScreen(a) {
var elem = document.getElementById('screen');
switch (a.value) {
case '+': {
if (firstOperation) {
lastOperation = '+';
firstNumber = elem.value;
elem.value = "";
firstOperation = 0;
} else {
lastOperation = '+';
firstNumber += elem.value;
}
}
break;
case '-': {
if (firstOperation) {
lastOperation = '-';
firstNumber = elem.value;
elem.value = "";
firstOperation = 0;
} else {
lastOperation = '-';
firstNumber -= elem.value;
}
}
break;
case '*': {
if (firstOperation) {
lastOperation = '*';
firstNumber = elem.value;
elem.value = "";
firstOperation = 0;
} else {
lastOperation = '*';
firstNumber *= elem.value;
}
}
break;
case '/': {
if (firstOperation) {
lastOperation = '/';
firstNumber = elem.value;
elem.value = "";
firstOperation = 0;
} else {
lastOperation = '/';
firstNumber /= elem.value;
}
}
break;
case '=': {
if (firstOperation) {
} else {
switch (lastOperation) {
case '+': {
elem.value = (firstNumber + elem.value);
}
break;
case '-': {
elem.value = firstNumber - elem.value;
}
break;
case '/': {
elem.value = firstNumber / elem.value;
}
break;
case '*': {
elem.value = firstNumber * elem.value;
}
break;
default: {
}
break;
}
firstOperation = 1;
lastOperation = '';
}
}
break;
case 'C': {
elem.value = "";
}
break;
case '1': {
elem.value += a.value;
}
break;
case '2': {
elem.value += a.value;
}
break;
case '3': {
elem.value += a.value;
}
break;
case '4': {
elem.value += a.value;
}
break;
case '5': {
elem.value += a.value;
}
break;
case '6': {
elem.value += a.value;
}
break;
case '7': {
elem.value += a.value;
}
break;
case '8': {
elem.value += a.value;
}
break;
case '9': {
elem.value += a.value;
}
break;
case '0': {
elem.value += a.value;
}
break;
default: {
}
break;
}
}
这是我的计算器屏幕:
<td colspan=3 align="center"><input id="screen" type=text disabled></input></td>
这是我计算的一个按钮:
<td align="center"><button type="button" onclick="writeToScreen(this)" value=4>4</button></td>
4
现在来回答这个问题,并检查我的逻辑是否正确。基本上,当我按下按钮时,会调用函数writeToScreen,为当前按钮提供参数值4。数字4现在显示在我的计算器的屏幕上,但我看不出显示来自哪里。它是否来自getElementById(“屏幕”)。此函数是否检查“屏幕”id是否为输入类型,然后显示?展览具体在哪里举行
谢谢 行
var elem=document.getElementById('screen')
获取属性设置为screen
的元素,在本例中,该属性是输入
元素。表单元素(其中input
元素所属)有一个名为value
的属性,顾名思义,该属性就是元素的值。可以通过执行formElement.value
来访问此属性。此属性也是可写的,这意味着您可以通过执行formElement.value=theValue
以编程方式设置其值
在您的例子中,
elem
变量是一个输入元素,因此您可以使用上述方法获取或设置其值。因此,在屏幕
元素中显示值的行是执行elem.value+=…
或elem.value=“”
(…
这里表示任何值)的行。行var elem=document.getElementById('screen'))
获取id
属性设置为screen
的元素,在本例中,该元素是一个输入
元素。表单元素(其中input
元素所属)有一个名为value
的属性,顾名思义,该属性就是元素的值。可以通过执行formElement.value
来访问此属性。此属性也是可写的,这意味着您可以通过执行formElement.value=theValue
以编程方式设置其值
在您的例子中,
elem
变量是一个输入元素,因此您可以使用上述方法获取或设置其值。因此,在屏幕
元素中显示值的行是执行elem.value+=…
或elem.value=“”
(…
这里表示任何值)的行。行var elem=document.getElementById('screen'))
获取id
属性设置为screen
的元素,在本例中,该元素是一个输入
元素。表单元素(其中input
元素所属)有一个名为value
的属性,顾名思义,该属性就是元素的值。可以通过执行formElement.value
来访问此属性。此属性也是可写的,这意味着您可以通过执行formElement.value=theValue
以编程方式设置其值
在您的例子中,
elem
变量是一个输入元素,因此您可以使用上述方法获取或设置其值。因此,在屏幕
元素中显示值的行是执行elem.value+=…
或elem.value=“”
(…
这里表示任何值)的行。行var elem=document.getElementById('screen'))
获取id
属性设置为screen
的元素,在本例中,该元素是一个输入
元素。表单元素(其中input
元素所属)有一个名为value
的属性,顾名思义,该属性就是元素的值。可以通过执行formElement.value
来访问此属性。此属性也是可写的,这意味着您可以通过执行formElement.value=theValue
以编程方式设置其值
在您的例子中,elem
变量是一个输入元素,因此您可以使用上述方法获取或设置其值。因此,在屏幕
元素中显示值的行是执行elem.value+=…
或elem.value=“”
(…
这里指的是任何值)。…点击按钮“4”,调用writeToScreen,然后使屏幕的值+=4,似乎是错误的LOL
…点击按钮“4”,调用writeToScreen,然后使屏幕的值+=4,似乎是错误的LOL
…点击按钮“4”,调用writeToScreen,然后使屏幕的值+=4,似乎是错误的LOL
点击按钮“4”,调用writeToScreen,然后使screen的值+=4,似乎是错误的LOL我们需要看到更多的
writeToScreen
function writeToScreen(a){var elem=document.getElementById('screen');开关(a.value){case'+':{if(firstOperation){lastOperation='+';firstNumber=elem.value;elem.value=“”;firstOperation=0;}其他{lastOperation='+';firstNumber+=elem.value;}}}break;您可以编辑您的帖子,并将代码放在其中不会被截断的地方:)…下面是一个简单的示例。因此它与getElementById()无关
。这只是从DOM中获取元素的一种方法。更新输入元素的.value
将更新其显示。请注意,大多数元素没有.value
。大多数其他元素,如
将使用.appendChild()更新其内容
或.textContent
或其他属性和方法。@斜视谢谢,这就是我所知道的
<!-- when "click" event is triggered on this button/element, call writeToScreen -->
<!-- with "this", the button element itself, as it's first argument -->
<button type="button" onclick="writeToScreen(this)" value=4>
// define a function, store the first arg as "a"
function writeToScreen(a) {
// define a local variable named "elem"
// look for the element you want to manipulate by calling
// "getElementById" of "document" with a string "screen" as it's only argument
var elem = document.getElementById('screen');
// switch "value" of the clicked button element, which "a" is referring to
switch (a.value) {
...
case '4': { // if the button being clicked has a value === "4"
elem.value += a.value; // set the value of "elem"(id="screen") += a.value