所以这是我的问题,我使用 .removeAttr() 作为禁用内联样式的解决方法,现在有一个实例需要恢复我已删除的属性。还有可能吗?或者你能建议我使用什么替代解决方案。
我的 removeAttr() 的触发器是来自我的浏览器的媒体查询。当浏览器调整大小时,dom中元素的位置也会改变。默认情况下,我的 html 有一个正在使用的内联样式。但是当它缩小时,它应该将元素移动到不同的位置,当它恢复到原始比例或更宽的视图时,它也应该恢复删除的属性。
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
jQuery(function() {
var pause = 100; // will only process code within delay(function() { ... }) every 100ms.
jQuery(window).resize(function() {
delay(function() {
var width = jQuery(window).width();
if( width >= 958 && width <= 1400 ) {
if(jQuery(".box1 #move_me").length == 0) {
// needs to restore the removed "style" attribute
jQuery("#move_me").appendTo(jQuery(".box1"));
}
} else if( width >= 768 && width <= 959 ) {
} else if( width >= 480 && width <= 767 ) {
jQuery("#move_me").insertAfter(".box2 .insert_below").removeAttr("style");
} else if( width <= 479 ) {
jQuery("#move_me").insertAfter(".box3 .insert_below").removeAttr("style");
}
}, pause );
});
jQuery(window).resize();
});
jsfiddle: http: //jsfiddle.net/EFzy7/embedded/result/(调整大小以查看更改) - 如果您注意到,默认情况下如果您在更宽的屏幕中(例如,高于 960 像素或 1200 像素),“hello world”应该是红色的并且是arial字体。当您调整大小时,它会移动到另一个 div/box。但是,当您将其调整回宽屏幕时,文本不在其原始外观(红色宋体)中。
有没有办法可以恢复已删除的属性?如果不是,您认为解决我的问题的方法是什么?
谢谢你。