Jquery onclick-更改单元格背景颜色,但使用动态内容
这段代码可以工作,并完成我想做的事情。单击时,包含特定值的所有单元格都会高亮显示。 然而,这些细胞的真正内容是动态的。行数和列数也是如此。如何使代码动态化? (单元格内容始终是一个带有小写字母的单词,因此可以将其用作有效的类值。)Jquery onclick-更改单元格背景颜色,但使用动态内容,jquery,Jquery,这段代码可以工作,并完成我想做的事情。单击时,包含特定值的所有单元格都会高亮显示。 然而,这些细胞的真正内容是动态的。行数和列数也是如此。如何使代码动态化? (单元格内容始终是一个带有小写字母的单词,因此可以将其用作有效的类值。) $(文档).ready(函数(){ $(“.one”)。单击(函数(){ $(“td”).removeClass(“蓝色”); $(“td.one”).addClass(“蓝色”); }); $(“.two”)。单击(函数(){ $(“td”).removeClas
$(文档).ready(函数(){
$(“.one”)。单击(函数(){
$(“td”).removeClass(“蓝色”);
$(“td.one”).addClass(“蓝色”);
});
$(“.two”)。单击(函数(){
$(“td”).removeClass(“蓝色”);
$(“td.2”).addClass(“蓝色”);
});
$(“.three”)。单击(函数(){
$(“td”).removeClass(“蓝色”);
$(“td.three”).addClass(“蓝色”);
});
});
.blue{背景色:浅蓝色;}
一三二
223
三一
如果您只想以与单击的元素具有相同类名的元素为目标,只需获取目标元素的类名,然后使用该类名以具有相同类名的其他元素为目标:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
<table border=1>
<tr><td class="one">one</td> <td class="three">three</td><td class="two">two</td> </tr>
<tr><td class="two">two</td> <td class="two">two</td> <td class="three">three</td></tr>
<tr><td class="three">three</td><td class="one">one</td> <td class="one">one</td> </tr>
</table>
</body>
</html>
还有Javascript:
$(function(){
$("table td").on("click", function(e){
$("table td").toggleClass("highlighted", false);
var sel = $(e.target).attr("class").replace(/\b(\w+)/, '.$1');
$(sel).toggleClass("highlighted", true);
});
});
下面是一个工作示例
.highlighted {background-color:light blue;}
$(function(){
$("table td").on("click", function(e){
$("table td").toggleClass("highlighted", false);
var sel = $(e.target).attr("class").replace(/\b(\w+)/, '.$1');
$(sel).toggleClass("highlighted", true);
});
});