Código:
Y en el Firefox me dice 'element has no properties' :Svar Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } Object.extend = function(destination, source) { for (property in source) destination[property] = source[property]; return destination; } Function.prototype.bind = function(object) { var __method = this; return function() { return __method.apply(object, arguments); } } Function.prototype.bindAsEventListener = function(object) { var __method = this; return function(event) { __method.call(object, event || window.event); } } function $() { if (arguments.length == 1) return get$(arguments[0]); var elements = []; $c(arguments).each(function(el){ elements.push(get$(el)); }); return elements; function get$(el){ if (typeof el == 'string') el = document.getElementById(el); return el; } } if (!window.Element) var Element = new Object(); Object.extend(Element, { remove: function(element) { element = $(element); element.parentNode.removeChild(element); }, hasClassName: function(element, className) { element = $(element); if (!element) return; var hasClass = false; element.className.split(' ').each(function(cn){ if (cn == className) hasClass = true; }); return hasClass; }, addClassName: function(element, className) { element = $(element); Element.removeClassName(element, className); element.className += ' ' + className; }, removeClassName: function(element, className) { element = $(element); if (!element) return; var newClassName = ''; element.className.split(' ').each(function(cn, i){ if (cn != className){ if (i > 0) newClassName += ' '; newClassName += cn; } }); element.className = newClassName; }, cleanWhitespace: function(element) { element = $(element); $c(element.childNodes).each(function(node){ if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) Element.remove(node); <!-- (ESTA ES LA LINEA 90) --> }); }, find: function(element, what) { element = $(element)[what]; while (element.nodeType != 1) element = element[what]; return element; } }); var Position = { cumulativeOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent; } while (element); return [valueL, valueT]; } }; document.getElementsByClassName = function(className) { var children = document.getElementsByTagName('*') || document.all; var elements = []; $c(children).each(function(child){ if (Element.hasClassName(child, className)) elements.push(child); }); return elements; } //useful array functions Array.prototype.iterate = function(func){ for(var i=0;i<this.length;i++) func(this[i], i); } if (!Array.prototype.each) Array.prototype.each = Array.prototype.iterate; function $c(array){ var nArray = []; for (var i=0;i<array.length;i++) nArray.push(array[i]); return nArray; }
Muchas gracias por adelantado