Всем привет.
Начну сразу с примера.
Дано: 2 divа и в каждом еще 100 divов, то есть всего их 202, и в последнем еще 1 таблица.
структура примерно такая
div
| ...
| div#100
| - table
div
| ...
| div#100
| - table
Найти: $('div div') - правильный результат должен быть 200, и $('div div table') - результат соответственно 2.
Вообщем, интересует как правильно искать такие элементы.
первое, что пришло в голову было чтото вроде:
var a = [];
var obj = document.getElementsByTagName('div');
for (var h = 0, l = obj.length; h < l; h++) {
var el = obj[h].getElementsByTagName('div');
for (var j =0, l1 = el.length; j < l1; j++)
a.push(el[j]);
}
почему это не работает, думаю понятно
Потом был вариант с индексом добавленных элементов, работает, но жутко медленно.
var a = document.getElementsByTagName('div'), t, b=[];
var n = 0;
var tt;
while( t = a[n++] ) {
var g = t.getElementsByTagName('div');
var i = 0;
while( tt = g[i++] ){
if(!tt._)
b.push(tt);
tt._ = 1;
}
}
подскажите что-нибудь плз