使用JavaScript更改相邻单元格的颜色

使用JavaScript更改相邻单元格的颜色,javascript,html,Javascript,Html,我有一个3*3单元格的简单表格。每个单元格都有自己的颜色,第一个单元格有Id=“A1”,第二个单元格有Id=“A2”。它们都将事件onclick设置为“DoSome(this)” 为什么我的代码不更改为左上角单元格的颜色? 如果我先点击A1单元格,然后点击A2单元格,它们都会变成红色。我希望他们改变颜色,就好像他们在改变位置一样 我的javascript: var counter = 0; var first; var second; function DoSome(obj) { coun

我有一个3*3单元格的简单表格。每个单元格都有自己的颜色,第一个单元格有Id=“A1”,第二个单元格有Id=“A2”。它们都将事件onclick设置为“DoSome(this)”

为什么我的代码不更改为左上角单元格的颜色? 如果我先点击A1单元格,然后点击A2单元格,它们都会变成红色。我希望他们改变颜色,就好像他们在改变位置一样

我的javascript:

var counter = 0;
var first;
var second;

function DoSome(obj) {
  counter++;

  if (counter % 2 == 0) {
    second = obj;
    var temp = second.style;
    second.style.backgroundColor = first.style.backgroundColor;
    first.style = temp;
  } else {
    first = obj;
  }

}

我想这可能是你想要的那种东西,尽管正如其他人所说,没有完整的图片有点困难。这会初始化第一个单元格为红色,其他单元格为蓝色,然后在单击时交换颜色,我假设您没有使用jQuery

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <table style="width:100px; height:100px;">
        <tr>
            <td id="A1" onclick="javascript: DoSome(this);" style="background-color: red;"></td>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
        </tr>
        <tr>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
        </tr>
        <tr>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
            <td onclick="javascript: DoSome(this);" style="background-color: blue;"></td>
        </tr>
    </table>
</body>
</html>
<script type="text/javascript">
    var prev = document.getElementById('A1');

    function DoSome(obj) {
        if (prev != obj) {
            var objCol = obj.style.backgroundColor;
            obj.style.backgroundColor = prev.style.backgroundColor;
            prev.style.backgroundColor = objCol;
        }
        prev = obj;
    }
</script>

var prev=document.getElementById('A1');
函数DoSome(obj){
如果(上一个!=obj){
var objCol=obj.style.backgroundColor;
obj.style.backgroundColor=prev.style.backgroundColor;
prev.style.backgroundColor=objCol;
}
prev=obj;
}

请您也显示HTML好吗。问题不清楚。您还没有完全描述您想要什么。。。给出你所有的代码,或者把你的代码弄乱code@anni仅使用
code
标记发布codehi!也许我有你的问题。。。只需从javascript中删除
计数器
。。。我完全可以肯定,如果你给你的所有代码