Javascript改变Div风格

时间:2012-04-09 09:25:48

标签: javascript

我希望part 1 onclick div样式更改,再次点击它part 2恢复正常。我试过这样做但是我没有达到part 2结果。

以下是Javascript代码

function abc() {
    document.getElementById("test").style.color="red";
}

再次点击测试div后,颜色应该恢复为默认颜色,即黑色...

7 个答案:

答案 0 :(得分:41)

function abc() {
    var color = document.getElementById("test").style.color;
    if (color === "red")
         document.getElementById("test").style.color="black";
    else
         document.getElementById("test").style.color="red";
}

答案 1 :(得分:2)

使用jQuery:

$(document).ready(function(){
    $('div').click(function(){
        $(this).toggleClass('clicked');
    });
});​

Live example

答案 2 :(得分:1)

有一些逻辑来检查颜色或有一些标志,

function abc() {
    var currentColor = document.getElementById("test").style.color;

    if(currentColor == 'red'){
    document.getElementById("test").style.color="black";
    }else{
   document.getElementById("test").style.color="red";

    }
}

答案 3 :(得分:0)

您可以在点击更改之前检查颜色。

function abc(){
     var color = document.getElementById("test").style.color;
     if(color==''){
         //change
     }else{
         //change back
     }
}

答案 4 :(得分:0)

一个简单的switch语句可以解决这个问题:

function abc() {
    var elem=document.getElementById('test'),color;
    switch(elem.style.color) {
        case('red'):
            color='black';
            break;
        case('black'):
        default:
            color='red';
    }
    elem.style.color=color;
}

答案 5 :(得分:0)

function abc() {
    var color = document.getElementById("test").style.color;
    color = (color=="red") ? "black" : "red" ;
    document.getElementById("test").style.color= color;
}

答案 6 :(得分:0)

更好地改变元素的类(.regular是黑色,.alert是红色):

function abc(){
  var myDiv = document.getElementById("test");
  if (myDiv.className == 'alert') {
    myDiv.className = 'regular';
  } else {
    myDiv.className = 'alert';
  }
}