если ваш ul имеет идентификатор Foo, вы можете сделать это:
var els = $$('#foo>.item').each(function(s,i) { alert(s.innerText); });
Как ни странно, ни одна из этих работ не работает ..
$('foo').getElementsBySelector('>.item').each(function(s,i) { alert(s.innerText); });
// As you say it returns the 'no' list item. Taking off the '>' doesn't work either.
$('foo').getElementsBySelector('.item').each(function(s,i) { alert(s.innerText); });
// returns all three
$('foo').up().getElementsBySelector('>.item').each(function(s,i) { alert(s.innerText); });
// returns all three
getElementsBySelector
должен быть эквивалентом $$()
, но, очевидно, это не так. Для меня это похоже на ошибку в Prototype ...
Это работает, но, кажется, не имеет большого значения ...
$('foo').up().getElementsBySelector('#foo>.item').each(function(s,i) { alert(s.innerText); });