Javascript 单击单元格,然后根据长度更改上一个单元格或下一个单元格css
HTMLJavascript 单击单元格,然后根据长度更改上一个单元格或下一个单元格css,javascript,jquery,Javascript,Jquery,HTML .csstdhighlight { 颜色:白色; 背景颜色:蓝色; } csstdred先生 { 颜色:白色; 背景色:红色; } .csstdgreen { 颜色:白色; 背景颜色:绿色; } 表1.CSStablePoint { 边界塌陷:塌陷; } 表1.CSSTABLEAPPOINT td { 边框:1px实心#ccc; } 表.csstablePoint.csstdred { 边框颜色:#f00; } 表.csstablePoint.csstdgreen { 边框颜色:绿色
.csstdhighlight
{
颜色:白色;
背景颜色:蓝色;
}
csstdred先生
{
颜色:白色;
背景色:红色;
}
.csstdgreen
{
颜色:白色;
背景颜色:绿色;
}
表1.CSStablePoint
{
边界塌陷:塌陷;
}
表1.CSSTABLEAPPOINT td
{
边框:1px实心#ccc;
}
表.csstablePoint.csstdred
{
边框颜色:#f00;
}
表.csstablePoint.csstdgreen
{
边框颜色:绿色;
}
等级
数字
1.
厕所
3.
4.
男人
7.
杰克
10
11
12
13
15
16
乔治
18
$(文档).ready(函数(){
$(文档)。在('单击','表格约会td',功能(e){
if($(this).hasclass('csstdred')){
$(this).removeclass('csstdred').addClass('csstdhighlight');
}
});
});
当我点击单元格时
如果单元格长度为3,则其上一个单元格和下一个单元格变为蓝色
如果单元格长度为2,则只有前一个单元格变为蓝色
如果单元格长度为1,则当前单元格变为蓝色。
您提供的URL未加载(错误503),我不明白您的问题具体是什么,与您向我们展示的内容有关?问题可能是您正在谈论并将eventListeners附加到所有td,而不仅仅是您选择的td。您所指的单元格长度是什么<代码>colspan属性?jQuery元素索引?像素?我认为jsbin服务器已关闭,您可以为我创建JSFIDLE…我将提供html和jquery代码,因为我无法在JSFIDLE中键入html
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="[add your bin description]" />
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<style type="text/css">
.csstdhighlight
{
color: White;
background-color: blue;
}
.csstdred
{
color: White;
background-color: red;
}
.csstdgreen
{
color: White;
background-color: green;
}
table.csstableappointment
{
border-collapse: collapse;
}
table.csstableappointment td
{
border: 1px solid #ccc;
}
table.csstableappointment .csstdred
{
border-color: #f00;
}
table.csstableappointment .csstdgreen
{
border-color: green;
}
</style>
<body>
<table id="tableAppointment" class="csstableappointment" cellspacing= bgcolor="#cccccc" border="1" width="50%">
<tr class="csstextheader">
<td>
</td>
<td>Class
</td>
<td>Numbers
</td>
</tr>
<tr class="csstablelisttd">
<td> 1
</td>
<td class='csstdred'>john
</td>
<td>3
</td>
</tr>
<tr class="csstablelisttd">
<td> 4
</td>
<td class='csstdred' >
</td>
<td class='csstdred'> mans
</td>
</tr>
<tr class="csstablelisttd">
<td > 7
</td>
<td class='csstdred'> jack
</td>
<td class='csstdred'>
</td>
</tr>
<tr class="csstablelisttd">
<td> 10
</td>
<td>11
</td>
<td>12
</td>
</tr>
<tr class="csstablelisttd">
<td> 13
</td>
<td class='csstdred'>
</td>
<td>15
</td>
</tr>
<tr class="csstablelisttd">
<td> 16
</td>
<td class='csstdred'>george
</td>
<td>18
</td>
</tr>
</table>
</body>
</html>
$(document).ready(function () {
$(document).on('click', '#tableAppointment td', function (e) {
if ($(this).hasclass('csstdred')) {
$(this).removeclass('csstdred').addClass('csstdhighlight');
}
});
});
<table border="1" id="tableAppointment">
<tr>
<td>a</td>
<td>asd</td>
<td>asd3</td>
</tr>
</table>
$(document).on('click','#tableAppointment td', function (){
var length = $(this).text().length;
var cellIndex = $(this).index();
if(length == 3)
$(this).closest('td').next().addClass('theClass');
if(length == 1)
$(this).closest('td').prev().addClass('class');
});