如何构建一个函数来根据参数改变字段颜色

时间:2018-01-27 16:45:20

标签: javascript function parameters

我设置了一个更改字段颜色的功能

HTML:

<input id="nameInput" type="text" onfocus="backColor();">

的javascript:

function backColor() {

document.getElementById("nameInput").style.backgroundColor = "yellow";
}

但后来我尝试制作不同的功能,包括参数并根据颜色改变颜色,但显然没有效果。我怎么做?

html:

<input id="nameInput" type="text" onfocus="backColor(nameInput, 'yellow');">

的javascript:

  function backColor(id, color) {
     var idInput = document.getElementById(id);
     var color;
     idInput.style.backgroundColor = color;
     return;
}

3 个答案:

答案 0 :(得分:0)

我想你可能只是遗漏了你身份证的一些引用:

<input id="nameInput" type="text" onfocus="backColor('nameInput', 'yellow');">

希望这有帮助

答案 1 :(得分:0)

如果ID

,则在传递名称时错过单引号

  function backColor(id, color) {
     var idInput = document.getElementById(id);
     var color;
     idInput.style.backgroundColor = color;
     return;
}
<input id="nameInput" type="text" onfocus="backColor('nameInput', 'yellow');">

答案 2 :(得分:0)

你可以使用currying:

No instance for (memory-0.14.6:Data.ByteArray.Types.ByteArray LBS.ByteString) arising from a use of ‘ctrCombine’

所以你可以这样做:

 function colorChooser(id, color){
   const el = document.getElementById(id);

   return function colorCallback(){
    el.style.backgroundColor = color;
   }
 }