我有一张桌子,每个td都有一个唯一的id,对应一些时间间隔(0800到0830 ...... 0830到0900等等).我有一个输入文本,用户将键入他们想要阻止的时间间隔.如果他们输入我的表中不存在的区间,换句话说,如果他们键入的区间与我的任何td的id不对应,我想显示一条警告说"此区间不是可用于阻止".
但是,我很难找到这个id.我这样做:
var horaInicial = $("#horaInicial").val().split(':')[0] + $("#horaInicial").val().split(':')[1]; // this is remover the ":" from a formatted hour var verificaHorario = $("#tbIntervalos").find("td").attr("id", horaInicial);
但是这个"verificaHorario"实际上是将我所有的td设置为这个horaInicial id.
那么,如何在我的表中找到一个id,如果它不存在则显示一些警告.
谢谢!!
如果您尝试按ID查找元素,则不需要仅搜索表格 - 它应该在页面上是唯一的,因此您应该能够使用:
var verificaHorario = $('#' + horaInicial);
如果您因任何原因只需要在表格中搜索,您可以使用:
var verificaHorario = $("#tbIntervalos").find("td#" + horaInicial)
我不知道这是否解决了你的问题,而不是:
$("#tbIntervalos").find("td").attr("id", horaInicial);
你可以这样做:
$("#tbIntervalos td#" + horaInicial);
这个
var verificaHorario = $("#tbIntervalos").find("#" + horaInicial);
会找到你需要被阻止的td.
实际上这也会做:
var verificaHorario = $("#" + horaInicial);
测试包装集的size()将回答有关id存在的问题.
这是找到上述问题的元素的另一个选项
$("#tbIntervalos").find('td[id="'+horaInicial+'"]')