我想使用javascript切换CSS属性 var foo=document.getElementsByClassName('foo'); 对于(变量i=0;i

我想使用javascript切换CSS属性 var foo=document.getElementsByClassName('foo'); 对于(变量i=0;i,javascript,html,css,toggle,Javascript,Html,Css,Toggle,我已经创建了一个名为“content”的div类,在该content div中有五个使用php for循环生成的div。我想将divs“foo”背景色更改为浅绿色,这已经实现,但我关心的是如何将background color属性再次更改为白色 你可以试试下面的方法 <div class="content"> <?php for ($i=0; $i < 5; $i++) { echo '<div

我已经创建了一个名为“content”的div类,在该content div中有五个使用php for循环生成的div。我想将divs“foo”背景色更改为浅绿色,这已经实现,但我关心的是如何将background color属性再次更改为白色

你可以试试下面的方法

<div class="content">
          <?php
            for ($i=0; $i < 5; $i++) {
              echo '<div class="foo">
              </div>';
            }
          ?>
          <script>
            var foo= document.getElementsByClassName('foo');
            for (var i = 0; i < foo.length; i++) {
              foo[i].addEventListener("click", function(){
                this.style.backgroundColor = "lightgreen";
                });
            }
          </script>

var foo=document.getElementsByClassName('foo');
对于(变量i=0;i
扩展Lahiru TM方法

尝试使用此选项,以便在单击时切换颜色

<script>
var foo= document.getElementsByClassName('foo');
for (var i = 0; i < foo.length; i++) {
    foo[i].addEventListener("click", function(e){
        if (e.style.backgroundColor) {
            e.style.backgroundColor = "null";
        } else {
            e.style.backgroundColor = "lightgreen";
        }
    });
}
</script>

var foo=document.getElementsByClassName('foo');
对于(变量i=0;i
建议先使用CSS类,然后再使用类属性

你可以这样做


(事件一){
var foo=document.getElementById(i);
foo.className=foo.className.replace(“preToggle”、“postToggle”);
}

为preToggle和postToggle定义CSS。

也许
toggle
是一个类而不是一个类欢迎使用SO,请将您的代码添加到代码段中,以便有人很快解决了您的问题。创建一个背景颜色为
浅绿色的类,并在元素上切换该类:
this.classList.toggle('your_class_name')
<div class="content">
     <?php
       for ($i=0; $i < 5; $i++) {
          echo '<div class="foo">test
           </div>';
       }
     ?>
</div>
<script>
var foo= document.getElementsByClassName('foo');
for (var i = 0; i < foo.length; i++) {
    foo[i].addEventListener("click", function(e){
        if (this.style.backgroundColor == 'lightgreen') {
            this.style.backgroundColor = "white";
        } else {
            this.style.backgroundColor = "lightgreen";
        }
    });
}
</script>
    <div class="content">
         <?php
           for ($i=0; $i < 5; $i++) {
              echo '<div id="i" class="preToggle" (click)="divClicked($event , i)">test
               </div>';
           }
         ?>
    </div>
    <script>
    divClicked(event , i){
        var foo= document.getElementById(i);
        foo.className = foo.className.replace("preToggle", "postToggle");
}
    </script>