вообщем очень было бы не плохо иметь подобную реализацию:
NodeList.prototype.querySelector = function( selector ) {
var elem, listLength = this.length;
for( var i = 0; i < listLength; i++ ) {
if ( elem = this[ i ].querySelector( selector ) ) {
return elem;
}
}
return null;
}
NodeList.prototype.querySelectorAll = function( selector ) {
var result = [], // Instead the Array, use NodeList
listLength = this.length;
for( var i = 0; i < listLength; i++ ) {
result = result.concat( Array.prototype.slice.call( this[ i ].querySelectorAll( selector ), 0 ) );
}
return result;
}
// но назначение прототипов объекту NodeList эфекта никакого не дает
// тоесть сделав такую хрень:
alert( document.querySelectorAll('div').querySelectorAll ); // получим undefined
// браузеры не добавляют пользовательский метод экземпляру NodeList
// хотя тестил я тока в опере.