jQuery - 如何找到具有特定ID的元素?

时间:2009-03-12 12:48:40

标签: jquery

我有一张桌子,每个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,如果它不存在则显示一些警告。

谢谢!

5 个答案:

答案 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,那么您可以检查标签类型吗?

只是一个想法!

取值