我有一张桌子,每个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,如果它不存在则显示一些警告。
谢谢!
答案 0 :(得分:73)
如果您尝试按ID查找元素,则不需要仅搜索表格 - 它应该在页面上是唯一的,因此您应该可以使用:
var verificaHorario = $('#' + horaInicial);
如果您因任何原因只需要在表格中搜索,可以使用:
var verificaHorario = $("#tbIntervalos").find("td#" + horaInicial)
答案 1 :(得分:19)
我不知道这是否解决了你的问题,而不是:
$("#tbIntervalos").find("td").attr("id", horaInicial);
你可以这样做:
$("#tbIntervalos td#" + horaInicial);
答案 2 :(得分:8)
此
var verificaHorario = $("#tbIntervalos").find("#" + horaInicial);
会找到你需要阻止的td。
实际上这也会做:
var verificaHorario = $("#" + horaInicial);
测试包装集的size()将回答有关id存在的问题。
答案 3 :(得分:6)
这是找到上述问题的元素的另一个选项
$("#tbIntervalos").find('td[id="'+horaInicial+'"]')
答案 4 :(得分:3)
由于所有html ID在有效的html文档中都是唯一的,为什么不直接搜索ID?如果您担心他们输入的是不是表格的ID,那么您可以检查标签类型吗?
只是一个想法!
取值