我不知道是否可行,但这是我的代码。
function start(blauw){
document.getElementById(blauw).style.background="white";
}
<table>
<tr>
<td id= niks></td>
<td id= niks></td>
<td id= blauw onclick="start(id)">1</td>
<td id= blauw onclick="start(id)">2</td>
<td id= blauw>3</td>
<td id= blauw>4</td>
<td id= blauw>5</td>
<td id= blauw>6</td>
<td id= blauw>7</td>
<td id= blauw>8</td>
<td id= niks></td>
<td id= niks></td>
</tr>
</table>
我想实现的是,如果我点击它,背景会变成白色,这样人们现在就可以预订了。但是我必须给所有东西一个自己的 ID 吗?因为现在如果我点击“2”只有“1”变成白色而“2”不会变成白色。
(请原谅我的英语不好)
最佳答案
不传递属性,只传递元素本身:
function start(element) {
element.style.background = "green";
}
<table>
<tr>
<td class=niks></td>
<td class=niks></td>
<td class=blauw onclick="start(this)">1</td>
<td class=blauw onclick="start(this)">2</td>
<td class=blauw>3</td>
<td class=blauw>4</td>
<td class=blauw>5</td>
<td class=blauw>6</td>
<td class=blauw>7</td>
<td class=blauw>8</td>
<td class=niks></td>
<td class=niks></td>
</tr>
</table>
如评论中所述 - ID 必须是唯一的!!
编辑:
改变了切换背景颜色的功能。
function start(element) {
var backgroundColor = element.style.background;
if (backgroundColor === "green") {
element.style.background = "red";
} else {
element.style.background = "green";
}
}
所以这是一个非常简单的演示
参见 FIDDLE
关于javascript - 改变背景颜色onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26468246/