如何更改表中项目的背景
how can i change the background of an item in the table?
可能重复:
我想在点击后更改背景颜色吗?
如何更改表中项目的背景?
当鼠标在任何项目上时,它的颜色都会改变,所以我使用了CSS
代码:
.meun:hover{
background-color: #EFF2F7;
}
这很好,所以为了改变点击项目的背景颜色,我使用了这个小java脚本代码
function getclick(elem)
{
elem.style.backgroundColor = '#EFF2F7';
}
所以我现在想,如果我点击了其他项目,上一个项目会返回默认颜色,即white
,下一个项目更改,css中的hover
会继续工作,就像facebook
左菜单一样。。。
有关更多详细信息,这是我写的代码
http://jsfiddle.net/NA8Dj/
您可以将具有自定义样式的css类(而不是显式设置背景色(添加到这些元素中,然后修改您的函数,如:
function getclick(elem)
{
//find any elemenet with given class
//remove that class from it
//add that class to 'elem'
}
我不知道纯javascript的正确语法,但使用jQuery,它可能是:
// find any element with given class and remove it
$('.yourClass').removeClass('yourClass');
// add that class to clicked element
elem.addClass('yourClass');
您可以在这里看到工作示例
顺便说一句:你的例子对我不起作用。
这里有一个纯JavaScript版本。它使用事件委派,这意味着只有一个点击处理程序分配给表,而不是分配给每个单元格:
(function() {
var current,
table = document.getElementById('table'); // I gave the table
// the uncreative ID `table`
table.onclick = function(event) {
event = event || window.event;
var target = event.target || event.srcElement;
if(target.nodeName !== 'TD') {
do {
target = target.parentNode;
} while(target && target.nodeName !== 'TD');
}
if(target) {
if(current) {
current.style.backgroundColor = '';
}
target.style.backgroundColor = '#EFF2F7';
current = target;
}
};
}());
DEMO
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 正在将数据主题添加到所有项目
- 在BootStrap菜单栏中为所选项目设置背景,类似于BootStrap中的父导航选项
- 使用圆中的数组更改背景颜色项目
- 单击项目以更改另一个项目的背景图像
- 加载所有项目后更新背景
- 如何在项目符号列表中插入背景(图片)元素,其 URL 写入相邻的项目符号列表中
- 在导航中对活动项目背景进行动画处理失败
- Foreach项目悬停在不同的背景上
- 如何更改项目's的背景颜色使用jquery平滑
- HTML选择选项多次更改选中的项目灰色背景时,不在焦点上
- 如何改变所有选定的项目背景/类,而不是只改变一个选定的项目在ng-repeat角
- 当项目被点击改变背景颜色- CSS(没有jQuery)
- 如何使用jQuery设置每个项目的背景颜色到下一个项目
- 如何设置重复器项目背景颜色
- 当弹出框处于活动状态时,如何在离子中与背景中的项目进行交互
- 无法更改 UL 中所选 li 项目的背景颜色
- 如何更改表中项目的背景
- 如何动态地添加一个类到li项目,并使用javascript和css改变它的背景颜色
- 设置悬停项目的背景