Hasta hace poco, había estado usando Safari 4 para probar y depurar mi actual jQuery Plugin. Probé mi código en Firefox y comenzó a quejarse sobre algo dentro de JQuery-Framework: "establecer una propiedad que tiene solo un getter". traté de averiguar qué línea hace que Firefox a quejarse y se encontró que esto sucede por aquí **"establecer una propiedad que tiene solo un getter" - error de Javascript con firefox
$.fn.util.create_$dom = function(opt) {
var $dom = {};
$.each(opt.dom,function(name,val){
console.log(name);
var $elm = $('<div>');
$.each(opt.dom[name],function(_name,_val){
if(_name == 'tagName') $elm = $('<'+_val+'/>');
});
console.log(name+': ok');
$.each(opt.dom[name],function(_name,_val){ **here
switch(_name){ **here
case 'className': $elm.addClass(_val); **here
default: $elm.attr(_name, _val); **here
} **here
});
$dom[name] = $elm;
console.log(name+': ok');
});
return $dom;
};
options.dom se ve así:
dom:{
wrapper:{className:'wrapper'},
inner:{tagName:'p',className:'test',test:'bla'}
},
Supongo que las personas son más inteligentes por las mañanas ... un poco fue el caso conmigo después de tomar un café fuerte y tomar una respiración profunda. redsquare tenía toda la razón sobre el problema, por supuesto, y tengo una solución similar: acabo de agregar: case 'tagName': break; para evitar este problema, y firefox me ama por ello. –