Javascript 将参数传递给脚本函数

Javascript 将参数传递给脚本函数,javascript,html,Javascript,Html,我是这方面的初学者,所以请耐心等待。我查过这个问题,没有找到解决办法。 我有以下代码: 在头上 <script> function ledonoff(led) { if (document.getElementById('ck1').checked == true){ document.getElementById('led1').style.backgroundImage="url('Image/led_green.gif')";} e

我是这方面的初学者,所以请耐心等待。我查过这个问题,没有找到解决办法。 我有以下代码:

在头上

<script>
   function ledonoff(led)
    {
     if (document.getElementById('ck1').checked == true){
      document.getElementById('led1').style.backgroundImage="url('Image/led_green.gif')";}
     else {
      document.getElementById('led1').style.backgroundImage="url('Image/led_red.gif');}
    }
</script>

功能led关闭(led)
{
if(document.getElementById('ck1')。checked==true){
document.getElementById('led1').style.backgroundImage=“url('Image/led_green.gif')”;}
否则{
document.getElementById('led1').style.backgroundImage=“url('Image/led_red.gif');}
}
在身体上

<div id="led1"></div>

<input name="" type="checkbox" id="ck1" onchange="ledonoff('led1')" value=""/>

我想让函数ledonoff接受2个参数,以便在要更改的函数:div id中使用 以及要在函数的if上验证的复选框。 有人能帮我吗。
谢谢

您只需传递它:
onchange=“ledonoff('led1','ck1')”

但是,您的函数需要一个参数,因此需要对其进行修改

function ledonoff(led) -> function ledonoff(led, ck)
请注意

这种类型的JavaScript被称为。最近设计原则的转变是将JavaScript和HTML放在完全独立的文件中。与以属性方式为事件分配函数不同,您应该使用
DOM
DOM
元素添加事件侦听器。这是一个很好的教程,可以帮助您开始学习dea.

修改代码以:

<script>
function ledonoff(isChecked, elementId)
{
if (isCkecked){
    document.getElementById(elementId).style.backgroundImage="url('Image/led_green.gif')";}
else {
    document.getElementById(elementId).style.backgroundImage="url('Image/led_red.gif');}
}
</script>

函数ledonoff(已选中,元素ID)
{
如果(被屏蔽){
document.getElementById(elementId).style.backgroundImage=“url('Image/led_green.gif')”;}
否则{
document.getElementById(elementId).style.backgroundImage=“url('Image/led_red.gif');}
}
以及该机构:

<input name="" type="checkbox" id="ck1" onchange="ledonoff(this.checked, "led1")" value=""/>Led 1
Led 1
执行以下操作:

<script>
 function ledonoff(led,checkbox){
   if(document.getElementById(checkbox).checked == true){
    document.getElementById(led).style.backgroundImage="url('Image/led_green.gif')";
   }else{
    document.getElementById(led).style.backgroundImage="url('Image/led_red.gif')";
   }
 }
</script>

功能发光二极管关闭(发光二极管,复选框){
if(document.getElementById(复选框).checked==true){
document.getElementById(led.style.backgroundImage=“url('Image/led_green.gif')”;
}否则{
document.getElementById(led.style.backgroundImage=“url('Image/led_red.gif')”;
}
}
以及您的html:

<div id="led1"></div>
<input name="" type="checkbox" id="ck1" onchange="ledonoff('led1','ch1')" value=""/>Led1

Led1

我想,就是这样。我假定您的映像路径是正确的

将功能更改为:

  function ledonoff(led,checkBox){
       var theDiv = document.getElementById(led),
           check = document.getElementById(checkBox);
       if (check.checked == true){
        theDiv.style.backgroundImage="url('Image/led_green.gif')";
       } else {
        theDiv.style.backgroundImage="url('Image/led_red.gif')";
      }
    }
并更改为:

"ledonoff('led1','ck1')"
使用这个

</script>
 function ledonoff(led,chk)
 {
  if (document.getElementById(chk).checked == true){
   document.getElementById(led).style.backgroundImage="url('Image/led_green.gif')";}
  else {
   document.getElementById(led).style.backgroundImage="url('Image/led_red.gif');}
  }
</script>


<div id="led1"></div>

<input name="" type="checkbox" id="ck1" onchange="ledonoff('led1','ck1')" value=""/>Led 1

功能led关闭(led,chk)
{
if(document.getElementById(chk).checked==true){
document.getElementById(led.style.backgroundImage=“url('Image/led_green.gif')”;}
否则{
document.getElementById(led.style.backgroundImage=“url('Image/led_red.gif');}
}
发光二极管1

开始时?这可能是问题的根源。您传入了一个参数,但从未使用过它。请查看arguments.length,如果您想重载该函数,我认为这是您想要的。使用
document.getElementById(elementId)。style.backgroundImage=“url('Image/led\”+(isChecked?“绿色”):红色“+”.gif')”;