Я хочу использовать jQuery для вложенного getElementsByTagName. Многие вопросы касаются вложенных друг в друга, но они переходят в специальные темы. Я не могу понять что-то, что, вероятно, очень просто. В чистом JavaScript у меня есть:Замена jQuery для вложенных getElementsByTagName
tables = document.getElementsByTagName('table');
for (var t = 0; t < tables.length; t++)
{
thisTable = tables[t];
if (thisTable.id == "specialID")
{
inputs = thisTable.getElementsByTagName("input");
for (var r=0; r < inputs.length; r++)
{
thisInput = inputs[r];
if (thisInput.type == "radio")
{
if (thisInput.checked == true)
{
[do stuff]
break;
}
}
}
}
}
В основном это делает некоторые проверки на некоторых переключателях внутри нужной таблицы. Синтаксис вложенного getElementByTagName вызывает проблемы при попытке конвертировать в jQuery. Пока у меня есть это:
$("table").each(function() {
if (this.id == "specialID")
{
$("this:input").each(function() {
alert("I am here");
[test for radio and do stuff]
});
}
});
Первый «каждый» на столах работает отлично и находит все таблицы. Но второй «каждый» на входах не выбирает никаких элементов управления входами внутри конкретной таблицы. Я подозреваю, что $ ("this.input") неверен, но я пробовал много других вещей здесь, и я получаю синтаксические ошибки или не лучшие результаты. Каков правильный способ формирования синтаксиса, который позволяет мне перебирать все входы внутри одной из таблиц?
Попробуйте '$ (this) .find (" input ")' вместо '$ (" this: input ")' –