2016-11-28 76 views
0

我有一個ul li網格的頁面上有嵌入式樣式從插件應用到它。如果複選框不適用於該項目,則可以在此列表上方選擇隱藏/顯示任何內容的選項。恢復回按鈕上的內聯樣式點擊 - jQuery

我想添加一個'重置'按鈕,這些樣式恢復正常,因爲它們在頁面加載時,所以它就像複選框選擇沒有發生。

這是一個頁面加載樣式的例子。注意它們是從頁面的頂部和左側設置的,所以我無法硬編碼一個特定的屬性 - 這是來自插件。

position: absolute; 
left: 330px; 
top: 1320px; 

我知道我可以用jQuery刪除樣式都在一起,但我不知道是否有可能恢復的內嵌樣式的後面,因爲他們是在頁面加載。

+0

那麼你首先得要_read_的價值觀,你的插件的東西面前 - 因爲否則的話,他們僅僅是失去了當插件會覆蓋它們。 – CBroe

+0

內聯樣式是從插件而不是樣式表中設置的。插件定位它們的絕對和頂部/底部像素。 – runningantelope123

回答

1

試試這個:

<script> 
$(function(){ 
    var default_styles = new Array(); 

    default_styles = $('ul li').map(function(){ return $(this).attr('style') }).get(); 

    $('button').click(function(){ 
     $('ul li').each(function(i,v){ 
      $(v).attr('style', default_styles[i]) 
     }); 
    }); 
}); 
</script> 

小提琴補充說:https://jsfiddle.net/ehpmvqL7/3/

+0

不錯,修改它,並運行我需要它,謝謝! – runningantelope123

+0

@ runningantelope123很高興可以幫助:) – Amin

0

這是有點不好意思,但你可以在插件修改內聯樣式之前使用jQuery對象上的.attr()方法讀出元素樣式屬性的值。然後,您可以引用那些存儲的「原始樣式」,但您稍後想要在代碼中使用這些樣式(例如,在單擊複選框後將其設置回去)。