JQuery:设置一个<table>,要求点击<td>格子,使背景变为红色。 点击其他格子,上一个背景色恢复颜色。

顺便获取位置当前位置:第<spanid="span1"></span>行<spanid="span2"></span>列<script>$(function(){/*点击... 顺便获取位置
当前位置:第<span id="span1"> </span> 行<span id="span2"> </span> 列

<script>
$(function(){
/*点击得到颜色。 */
$("td").click(function(){
$(this).css("background-color","red");
});
});
//获取点击的table坐标
/* $("#span1 #span2").text. */

</script>
展开
 我来答
没见过熊蹦迪哒
2016-06-03 · TA获得超过1411个赞
知道小有建树答主
回答量:880
采纳率:84%
帮助的人:400万
展开全部
// 不优化:一句话搞定
// 定义一个颜色为红色的样式".active_red"
 $("td").click(function(){
     $(this).addClass('active_red').siblings().removeClass('active_red');
 });
更多追问追答
追问
不行,能不能在jq中写,加样式太麻烦了。
$(function(){

$("td").click(function(){
$(this).css("background-color","red");
});
});
现在可以获得背景色了,然后怎么点击下一个td变色,上一个td恢复白色?
追答
// 无脑的写法,浪费资源
 $("td").click(function(){
     $(this).css('background-color','red')
            .siblings().css('background-color','white');
 });
 
 // 优化写法。
var $lastTD;
$("td").click(function () {
    // 把上个设置回默认色(白色),避免第一次
    if ($lastTD) 
        $lastTD.css('background-color', 'white');

    $(this).css('background-color', 'red')

    // 开头把这句话放在if里面,但是这样代码的意思就不清晰
    // 当前的就变成上一个了。
    $lastTD = $(this);
});



剩下自己搞定。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式