如何使用JavaScript / jQuery更改特定TD的背景颜色?

我有一个< td style =“background-color:white”>< / td&gt ;. 我想要这样做,当我点击里面的td,背景颜色变成黑色.如何用jQuery完成这个?这是一个过时的事件还是点击事件? 使用正常的 JavaScript我试过:
<td style="background-color:white" onclick="$(this).onmousedown('background-color','black')">SomeText</td>

…但它没有工作…

解决方法

尝试这个…

jQuery的

$('td').click(function() {
   $(this).css('backgroundColor','#000');
});

…要么….

$('table').on('click','td',function() {
   $(this).css('backgroundColor','#000');
});

JavaScript的

[].forEach.call(document.getElementsByTagName('td'),function(item) { 
   item.addEventListener('click',function() {
       item.style.backgroundColor = '#000';
   },false); 
});

…要么…

var table = document.getElementsByTagName('table')[0];

var changeStyle = function(e) {
    if (e.target.tagName == 'td') {
        e.target.style.backgroundColor = '#000';
    }
};

table.addEventListener('click',changeStyle,false);

后面的例子只绑定一个事件处理程序.

添加一个类可能会更好,因此您可以在样式表中指定样式,而不是将演示文稿和行为层相结合.

jQuery的

$('td').click(function() {
   $(this).addClass('active');
 );

…要么….

$('table').on('click',function() {
   $(this).addClass('active');
});

CSS

td.active {
  background: #000;
}

这不行的原因…

<td style="background-color:white"
     onclick="$(this).onmousedown('background-color','black')">
     SomeText
</td>

…是因为jQuery对象没有onmousedown()事件(虽然有mousedown()).

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...