5
經過一堆動畫,添加類和設置CSS樣式。有沒有一種簡單的方法可以重置一個元素,以恢復其原始的服務器交付狀態?如何在操作鏈之後將元素重置爲原始狀態?
經過一堆動畫,添加類和設置CSS樣式。有沒有一種簡單的方法可以重置一個元素,以恢復其原始的服務器交付狀態?如何在操作鏈之後將元素重置爲原始狀態?
jQuery使用內聯style
屬性設置其操作,因此只需將其設置爲''
即可。
$('#someDiv').attr('style','');
這裏假定沒有內聯的style
屬性設置在來自服務器的元素上。如果是的話,最好使用樣式表。
如果元素必須來自服務器並且設置了style
屬性,那麼我想你可以將該值緩存在一個變量中,並在需要時重置它。
// Cache original attributes
var originalAttributes = $('#someDiv').attr('style');
// Reset from original
$('#someDiv').attr('style',originalAttributes);
編輯:
如果需要,你可以從服務器發送您的元素與自定義屬性記得原來class
屬性,例如。
<div class="myClass" originalClass="myClass">...</div>
然後,你可以參考你所需要的原隨時隨地。
你甚至可以找到所有具有originalClass
屬性的元素。
var $elementsWithOriginal = $('[originalClass]');
或查找其中class
屬性已從原始修改的元素。
var $modifiedFromOriginal = $('[originalClass]').filter(function() {
return $(this).attr('class') != $(this).attr('originalClass');
});
好像還好吧,記住它曾經擁有過的和沒有過的記錄是什麼? – Moak 2010-05-31 16:58:18
@Moak - 也許嘗試一些有點創意的東西,比如使用像originalClass這樣的自定義屬性,所以你的元素會像這樣來自服務器:'
@Moak - 我用例子更新了我的答案。 – user113716 2010-05-31 17:11:33