JQuery - как я могу найти элемент с определенным идентификатором?
У меня есть таблица, и у каждого из ее td
есть уникальный идентификатор, который соответствует некоторым временным интервалам (0800
до 0830
... 0830
до 0900
и т.д.).
У меня есть текст ввода, где пользователь будет вводить интервалы времени, которые они хотят заблокировать.
Если они вводят интервал, которого нет в моей таблице, другими словами, если они вводят интервал, который не соответствует ни одному из моих td id
, я хочу показать предупреждение, говорящее что-то вроде this interval is not available for blocking
.
Но мне трудно найти этот идентификатор.
Я делаю это:
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.
Как я могу найти идентификатор в моей таблице, и если он не существует, показать некоторые предупреждения?
Ответы
Ответ 1
Если вы пытаетесь найти элемент по id, вам не нужно искать только таблицу - он должен быть уникальным на странице и поэтому вы должны иметь возможность использовать:
var verificaHorario = $('#' + horaInicial);
Если вам нужно искать только в таблице по любой причине, вы можете использовать:
var verificaHorario = $("#tbIntervalos").find("td#" + horaInicial)
Ответ 2
Я не знаю, решает ли эта проблема вашу проблему, но вместо:
$("#tbIntervalos").find("td").attr("id", horaInicial);
вы можете просто сделать:
$("#tbIntervalos td#" + horaInicial);
Ответ 3
Это
var verificaHorario = $("#tbIntervalos").find("#" + horaInicial);
найдет вам td, который необходимо заблокировать.
Собственно, это также сделает:
var verificaHorario = $("#" + horaInicial);
Тестирование размера() завернутого набора ответит на ваш вопрос относительно существования идентификатора.
Ответ 4
Это еще один вариант, чтобы найти элемент для вышеуказанного вопроса
$("#tbIntervalos").find('td[id="'+horaInicial+'"]')
Ответ 5
Как все идентификаторы html уникальны в действительном html-документе, почему бы не искать идентификатор напрямую? Если вы обеспокоены тем, что они вводят идентификатор, который не является таблицей, вы можете проверить тип тега таким образом?
Просто идея!
S