当使用javascript单击时,我希望将表中的整行变为红色。
我用下面的代码成功地将单个单元格变成了红色,但不是整个tr。同样,一旦这一行是红色的,我就无法将其变回白色。
var ie = document.all
var ns = document.getElementById && !ie
function rowclick(e) {
var obj = ns ? e.target : event.srcElement
if (obj.tagName=="TD") {
obj.style.background="red"
obj.onblur=function() {
obj.style.background="white"
}
}
}
请注意,如果(obj.tagName=="TD") {
更改为if (obj.tagName=="TR") {
,则不起作用
function rowclick(e) {
var obj = this
if (obj.tagName == "TR") {
if (obj.style.backgroundColor === "red")
obj.style.backgroundColor = "white"
else
obj.style.backgroundColor = "red"
}
}
$('table tr').click(rowclick)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<table>
<tr><td>hello</td><td>world</td></tr>
<tr><td>hello</td><td>world</td></tr>
<tr><td>hello</td><td>world</td></tr>
</table>
</div>
已更新以切换背景颜色。