Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中更改字体颜色时出现问题_Javascript_Html - Fatal编程技术网

在JavaScript中更改字体颜色时出现问题

在JavaScript中更改字体颜色时出现问题,javascript,html,Javascript,Html,我正在制作一个计算器,每次按下操作员按钮时,字体都会变成红色 function changeBtnColor(entry){ if(entry == '+'){ calculator.getElementById("buttonAdd").style.fontcolor = 'red'; calculator.answer.value +=' + '; } if(entry == '-'){ calculator.getEl

我正在制作一个计算器,每次按下操作员按钮时,字体都会变成红色

function changeBtnColor(entry){
    if(entry == '+'){
        calculator.getElementById("buttonAdd").style.fontcolor = 'red';
        calculator.answer.value +=' + ';
    }
    if(entry == '-'){
        calculator.getElementById("buttonSub").style.fontcolor = 'red';
        calculator.answer.value +=' - ';
    }
    if(entry == '*'){
        calculator.getElementById("buttonMult").style.fontcolor = 'red';
        calculator.answer.value +=' * ';
    }
    if(entry == '/'){
        calculator.getElementById("buttonDiv").style.fontcolor = 'red';
        calculator.answer.value +=' / ';
    }
}
我如何调用此js函数的示例如下:

<form id = "calculator" name=”calculator”>
        <table id = "myTable" border = "2">
            <tbody>
                <tr>
                    <td colspan = "4">
                         <input id = "answer" type="text" name="answer"/> 
                    </td>
                 </tr>
                 <tr>
                    <td><input id = "button7" type="button" value="7" onClick="calculator.answer.value +='7'"></td>
                    <td><input id = "button8" type="button" value="8" onClick="calculator.answer.value +='8'"></td>
                    <td><input id = "button9" type="button" value="9" onClick="calculator.answer.value +='9'"></td>
                    <td><input id = "buttonAdd" type="button" value="+" onClick="changeBtnColor('+')"></td>
                 </tr>
有没有人对这个错误有什么建议,或者可以告诉我为什么会发生这种情况?谢谢

函数“getElementById”是为文档对象而不是表单元素定义的

document.getElementById("buttonAdd")
函数“getElementById”是为文档对象而不是表单元素定义的

document.getElementById("buttonAdd")

您是否在任何地方定义了
计算器
变量?如果不是,它将是未定义的,这可能是您看到的错误的原因。(我想它应该指的是
元素,但是你真的在任何地方分配它吗?)我只是在中调用它,你建议实际分配它在哪里?我不确定你称它为“在”元素是什么意思。您不能在HTML中分配JS变量,您需要在JS代码本身中进行分配。在这里,一种方法是
var calculator=document.getElementById(“calculator”)
。事实上,现在我已经更仔细地研究了您的代码,它无论如何都不会起作用-因为
getElementById
只作为方法存在于
文档
对象上,而不存在于任何其他DOM节点上。@RobinZigmond是的,我现在看到了。。关于如何在单击时更改按钮的字体颜色以及将操作符输出到屏幕上,您有什么建议吗?您的代码在大纲上看起来不错(尽管可以改进以避免重复太多),您只需要引用实际元素(通过ID、名称或其他CSS选择器)然后设置它们的
.style.color
。(
fontcolor
不是有效的CSS属性)。我还建议使用jQuery值得一看——虽然不是必需的,但它使DOM和CSS这样的转换不那么冗长。您是否在任何地方定义了
计算器
变量?如果不是,它将是未定义的,这可能是您看到的错误的原因。(我想它应该指的是
元素,但是你真的在任何地方分配它吗?)我只是在中调用它,你建议实际分配它在哪里?我不确定你称它为“在”元素是什么意思。您不能在HTML中分配JS变量,您需要在JS代码本身中进行分配。在这里,一种方法是
var calculator=document.getElementById(“calculator”)
。事实上,现在我已经更仔细地研究了您的代码,它无论如何都不会起作用-因为
getElementById
只作为方法存在于
文档
对象上,而不存在于任何其他DOM节点上。@RobinZigmond是的,我现在看到了。。关于如何在单击时更改按钮的字体颜色以及将操作符输出到屏幕上,您有什么建议吗?您的代码在大纲上看起来不错(尽管可以改进以避免重复太多),您只需要引用实际元素(通过ID、名称或其他CSS选择器)然后设置它们的
.style.color
。(
fontcolor
不是有效的CSS属性)。我还建议,使用jQuery是值得一看的——虽然不是必需的,但它使类似这样的DOM和CSS转换不那么冗长。