Cho đến gần đây, tôi đã sử dụng Safari 4 để thử nghiệm và gỡ lỗi Plugin jQuery hiện tại của mình. Tôi đã thử mã của tôi trong Firefox và nó bắt đầu phàn nàn về một cái gì đó trong khung công tác JQuery: "thiết lập một thuộc tính chỉ có một getter". tôi đã cố gắng để tìm ra các dòng gây Firefox để phàn nàn và thấy rằng điều này xảy ra ở đâu đó ở đây **"thiết lập thuộc tính chỉ có bộ thu gọn" - lỗi javascript với 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 trông như thế này:
dom:{
wrapper:{className:'wrapper'},
inner:{tagName:'p',className:'test',test:'bla'}
},
đoán ppl thông minh hơn vào buổi sáng ... có thể đó là trường hợp của tôi sau khi uống một ly cà phê mạnh và hít một hơi thật sâu. redsquare hoàn toàn đúng về vấn đề của khóa học và tôi nhận được giải pháp tương tự: tôi vừa thêm: case 'tagName': break; để tránh sự cố này và firefox yêu tôi vì điều đó. –