Javascript 单击td单元格时获取最接近的HTML thead元素的值

Javascript 单击td单元格时获取最接近的HTML thead元素的值,javascript,php,html,jquery,Javascript,Php,Html,Jquery,我有一个HTML表,如下所示: jQuery(文档).ready(函数($){ $('#reservationtable tbody tr td')。在('click',函数(){ var reservationtime=$(this).this('th').text(); var header=$(this.next('.theader text nonstrong').val(); $('#modalvon').text(预订时间); $('modalbis').text(addMinut

我有一个HTML表,如下所示:

jQuery(文档).ready(函数($){
$('#reservationtable tbody tr td')。在('click',函数(){
var reservationtime=$(this).this('th').text();
var header=$(this.next('.theader text nonstrong').val();
$('#modalvon').text(预订时间);
$('modalbis').text(addMinutes(reservationtime,'60');
$(#modaldatum')。文本(标题);
美元(“#确认储备”)。模式(“显示”);
});
});


因为您已经涉及了colspans,一种方法是为所有文本标题创建一个数组。 在页面加载时,遍历所有
,获取colspan值,并使用该值将文本推送到每个跨栏的标题数组中

然后,当您单击某个
时,使用该行单元格内的索引从标题数组中获取关联的标题文本

//为演示添加一些单元格文本
demonit();
设标题=[];
$('thead th[colspan]')。每个(函数(){
const colspan=+this.colspan,
heading=$(this.find('.theader text nonstrong').text();
//创建尽可能多的标题
span标题.push.apply(标题,数组(colspan).fill(标题));
});
$('#reservationtable tbody td')。单击(函数(){
const tdIdx=$(this).index()-1;//左减``
常数航向=航向航向航向[tdIdx];
控制台清除()
console.log('标题:',标题)
});
函数demonit(){
$('td:empty').text(函数(i){
返回“单元格”+(i+1)
});
}
td{
边框:1px实心#ccc;
填充:4px
}
桌子{
边界塌陷:塌陷
}

跨度1
跨度2
跨度3
跨度4 泽特 广场1 广场2 广场3 广场1 广场2 广场3 广场1 广场2 广场3 广场1 广场2 广场3 08:00 09:00
否,因为这些解决方案在我的系统中不起作用program@freedomn-m这将检索modal@freedomn-m你能用一个简短的例子告诉我它是如何工作的吗?我对jquery不是很在行。@freedomn-m好的,这个解决方案让我有了一天的时间,但问题是它只在一些单元格上工作,而且它不能从“correct”列中获取值,在该列中,td很糟糕,没有注意到提供的大量html中的colspan