04:38

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
[ok]

Здравствуйте.

Вопрос туповатый, но гугленье итога не дало. Видимо либо гуглю плохо, либо поисковый запрос неправильно формирую.

В общем, суть вопроса - как с помощью js (желательно обычного, без фреймворков и т.д.) узнать количество определённых дочерних элементов?

Грубо говоря, есть у меня див с кучей всякого содержимого. И мне, к примеру, надо узнать сколько внутри него элементов b, то бишь участков выделенных жирным.
Чтобы при обращении document.getElementById('id_дива').getElementsByTagName('b')[номер элемента] я не выскочил за пределы имеющегося количества. Допустим, надо обратиться к 10-му жирному куску текста, а их всего 6. И если я начну обращаться к 10, то либо будет ошибка и всё может подвиснуть, либо будут не тот результат, который ожидается.

В общем, мне нужен способ, с помощью которого можно узнать количество определённых дочерних элементов.


upd (решено):
document.getElementById('id-родителя').getElementsByTagName('искомые элементы').length;
То есть
document.getElementById('main-table').getElementsByTagName('tr').length;
вернёт количество строк в таблице с id="main-table".

Комментарии
01.09.2012 в 06:32

fire-dragon
jQuery

$('#id-родителя>искомые элементы').length;
01.09.2012 в 07:10

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
fire-dragon, Спасибо.
01.09.2012 в 07:26

fire-dragon
а вот этот вариан выберет все элементы включая и вложенные.
$('#id-родителя искомые элементы').length;

Вообще посмотрите api.jquery.com/category/selectors/hierarchy-sel...
01.09.2012 в 07:29

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
fire-dragon, Спасибо.

Скажите, а вот тут вы ничем помочь не можете?