Сообщение от HelpeR
|
console.log(this); // [] как???
|
это в какой версии джуквери вы такое увидели? Насколько мне известно джуквери не выдает массив собою, он есть объект. Откуда там массив понять не могу.
Вот вам мини jQuery, и джуквери сделан именно по такому принципу.
<div>Первый дивак</div>
<div>Второй дивак</div>
<script>
(function( window, undefined ) {
function jQuery( selector, context ) {
return new jQuery.prototype.init( selector, context );
}
jQuery.prototype = {
constructor: jQuery,
init: function( selector, context ) {
context = context || document;
return jQuery.makeArray( this, context.querySelectorAll( selector ) );
},
length: 0
}
jQuery.prototype.init.prototype = jQuery.prototype;
jQuery.makeArray = function( array, obj ) {
var length = obj.length;
for( var i = 0; i < length; i++ ) {
array[ i ] = obj[ i ];
}
array.length = length;
return array;
}
jQuery.each = jQuery.prototype.each = function( object, callback ) {
if ( typeof object == 'function' ) {
callback = object;
object = this;
}
if ( object.length === undefined ) {
for( var i in object ) {
if ( callback.call( object[ i ], i, object[ i ] ) === false ) {
break;
}
}
} else {
for( var i = 0, j = ~~object.length; i < j; i++ ) {
if ( callback.call( object[ i ], i, object[ i ] ) === false ) {
break;
}
}
}
return this;
}
window.jQuery = jQuery;
})( window );
jQuery( "div:first-child" ).each(function() {
this.style.cssText = "width: 100px; height: 100px; background-color: #f00;";
});
</script>