单击时如何突出显示表TD
How to highlight Table TD when clicked?
基本上我有一个像下面这样的表格网格,只是大了很多。
<table>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
iv使用CSS制作了所有60px乘60px的正方形,它们不会包含任何数据,但我希望能够点击各个正方形,这样背景颜色就会改变,如果我再次点击,它就会回到原来的背景颜色。但我希望能够突出显示尽可能多的方块。我知道它是用JavaScript编写的,但我该怎么做呢?
试试这个:
<table>
<tr>
<td>test 1</td>
<td>test 2</td>
</tr>
<tr>
<td>test 3</td>
<td>test 4</td>
</tr>
</table>
并编写脚本
window.onload = function(){
var all = document.getElementsByTagName("td");
for (var i=0;i<all.length;i++) {
all[i].onclick = inputClickHandler;
}
};
function inputClickHandler(e){
e = e||window.event;
var tdElm = e.target||e.srcElement;
if(tdElm.style.backgroundColor == 'rgb(255, 0, 0)'){
tdElm.style.backgroundColor = '#fff';
} else {
tdElm.style.backgroundColor = '#f00';
}
}
演示
我会在jQuery中发布代码,因为我从不喜欢标准JS如何选择元素。;)
$("td").click(function() {
if($(this).css('background-color') == 'red') { $(this).css('background-color', 'green'); }
else { $(this).css('background-color', 'red'); }
});
$("td").click(function(){
$(this).toggleClass("active");
});
像这样的
在jQuery中:
$('td').click(function() {
$(this).toggleClass('active');
});
请参阅:http://jsfiddle.net/CpGVK/
我喜欢Mihai Lorga的答案,因为它使用了纯JavaScript。然而,jQuery的开发要容易得多。
相关文章:
- 单击时如何突出显示表TD
- 突出显示具有不同值的表列td
- this.value在<td>标记显示未定义
- JSON数组转换为HTML表,并在td标记中显示数据
- 如何在td中显示从数据库中检索数据而不刷新
- 如何找到td类并检查它是否包含类,然后我需要显示弹出窗口
- 如何使用JS或JQuery使工具提示显示在TD悬停上
- 我想在 td 的值发生变化时更改突出显示的 td
- 如何从 td 标签中获取值并在 php 中另一个页面的文本框中显示此值
- 对象 对象显示在 td 中
- 双击 td 时,如何在警告框中将数据库中的数据显示为 html 表
- 成功后如何使用AJAX在TD中显示值和图像
- 在 jquery 中显示和隐藏 td
- 如何使用列值和行值突出显示/着色表 td
- 无法在表的悬停td元素上显示Popover
- 如何从td中删除显示的值并替换为输入字段
- 使用javascript显示多个选定的td值
- 过滤tr out中未显示的td元素
- 收缩td表中的文本,使其适合大小.逐渐在调整大小列上显示文本
- 悬停时以 td 显示图像