Javascript 如何在html表格中创建多维数组
我创建了表,其中每个单元格将在单击的单元格之间更改其类 创建此表时,我希望单击历史记录Javascript 如何在html表格中创建多维数组,javascript,jquery,html,css,arrays,Javascript,Jquery,Html,Css,Arrays,我创建了表,其中每个单元格将在单击的单元格之间更改其类 创建此表时,我希望单击历史记录array 在当前状态下,历史记录数组存储在单击的数组中 单击数组就像 array=[1,4,6,9] 但我想要的结果是 array=[[1,2,3,4],[6,7,8,9]] 或 array=[[1,4],[6,9]] 我的意思是,在每次类更改中,我都希望获得用于操纵的父键 如果你有什么意见,请告诉我 const$days=$(“td”); 常数范围=[-1,-1]; 让点击=[]; $(函数(){ $(“
array
在当前状态下,历史记录数组
存储在单击的数组中
单击数组就像
array=[1,4,6,9]
但我想要的结果是
array=[[1,2,3,4],[6,7,8,9]]
或
array=[[1,4],[6,9]]
我的意思是,在每次类更改中,我都希望获得用于操纵的父键
如果你有什么意见,请告诉我
const$days=$(“td”);
常数范围=[-1,-1];
让点击=[];
$(函数(){
$(“td”)。单击(函数(){
如果(范围[0]>-1&&range[1]>-1){//RESET
范围[0]=-1;
范围[1]=-1;
}
如果(范围[0]>-1&&range[1]<0){//设置结束
范围[1]=$days.index(此);
$days.slice(范围[0],范围[1]+1).addClass('is-active');
}
如果(范围[0]<0&&范围[1]<0){//设置开始
范围[0]=$days.index(此);
}
单击edid=$days.index(此);
点击。推送(点击edid);
log(“单击的单元格数组”,单击);
});
});代码>
td{
过渡时间:0.5s;
边框:纯黑1px;
光标:指针;
}
div{padding:5px;}
表{边框折叠:折叠;}
.aqua{背景色:aqua;}
td:悬停{
背景色:黄色;}
.处于活动状态{
背景色:浅绿色;}
让html=''
html+='';
设i=0;
for(设w=0;w<10;w++){
html+='';
for(设d=0;d<10;d++){
i=i+1;
html+=''+''+i+'+'''
}
html+='';
}
html+=''
document.querySelector(“#calendar”).innerHTML=html;
这有帮助吗
let sets = []
clicked.forEach((item,i) => {
if (i===0 || i%2===0) sets.push([])
sets[sets.length-1].push(item)
})
let html=''
html+='';
设i=0;
for(设w=0;w<10;w++){
html+='';
for(设d=0;d<10;d++){
i=i+1;
html+=''+''+i+'+'''
}
html+='';
}
html+=''
document.querySelector(“#calendar”).innerHTML=html;
常数$天=$(“td”);
常数范围=[-1,-1];
让点击=[];
$(函数(){
$(“td”)。单击(函数(){
如果(范围[0]>-1&&range[1]>-1){//RESET
范围[0]=-1;
范围[1]=-1;
}
如果(范围[0]>-1&&range[1]<0){//设置结束
范围[1]=$days.index(此);
$days.slice(范围[0],范围[1]+1).addClass('is-active');
}
如果(范围[0]<0&&范围[1]<0){//设置开始
范围[0]=$days.index(此);
}
单击edid=$days.index(此);
单击。推送(单击EDID)
设集合=[]
单击.forEach((项目,i)=>{
如果(i==0 | | i%2==0)设置.push([])
集合[sets.length-1]。推送(项目)
})
log(“单击的单元格数组”,集合);
//$(“.is active”).each((i,td)=>console.log(td.innerText))
});
});代码>
td{
过渡时间:0.5s;
边框:纯黑1px;
光标:指针;
}
div{
填充物:5px;
}
桌子{
边界塌陷:塌陷;
}
A.水{
背景色:浅绿色;
}
td:悬停{
背景颜色:黄色;
}
.处于活动状态{
背景色:浅绿色;
}
谢谢,我想要的结果是当我点击1
然后点击3
然后点击6
然后点击9
,array
就像[1,3],[6,9]
一样,每个单元格都会变成aqua
,并由起始单元格和结束单元格进行Sandwitch。这个代码是可复制的吗?你能告诉我们步骤是什么,结果是什么样的吗?因为您拥有的代码确实使单击的单元格在集合中变为绿色。因此,您可以按开始-结束顺序阅读aqua单元格谢谢您的评论,我的目标是制作类似日历的表格,并可以在本例中注册范围事件,例如aqua单元格
,然后单击其中一个,删除aqua单元格的类。因此,我希望在每个事件中获得父项
。如果我们可以访问父键
,我们可以通过单击开始
和结束
单元格之间的一个单元格来删除类
。就像常量arr=array(1=>array(1,2,3),2=>array(6,7)
。。