2010-05-03 47 views
7

我基本上試圖保存當前var /數組中的元素的所有當前css屬性。 我想:使用jquery保存元素的所有css屬性

el.css(); 

el.css("*"); 

沒有運氣。

是否有任何快速提示做到這一點?

+0

'el.css()每個(。 )'也許? – dnagirl 2010-05-03 13:22:59

+0

你能讀懂我的想法嗎?我只是想問這個問題,因爲我的CSS懸停問題! http://stackoverflow.com/questions/2754546/prevent-default-hover WOW – meo 2010-05-03 15:44:45

回答

6

我已經更新的答案是比較有效也提供了一個工作演示...

$(function() { 
     // element tag example p and element id 
     function get_element_style(element, id){ 
      var css = {}; 
      $('<iframe id="get-style-'+id+'" style="display:none"/>').appendTo('body'); 
      $('#get-style-'+id).contents().find('body').append('</'+element+'>'); 
      $el = $('#get-style-'+id).contents().find('body').find(element); 
      var defaults_css = $el.getStyles(); 
      $('#get-style-'+id).remove(); 
      var element_css = $('#'+id).getStyles(); 
      for (var i in element_css) { 
       if (element_css[i] !== defaults_css[i]) { 
        css[i] = element_css[i]; 
       } 
      } 
      return css; 
     } 

     var properties = get_element_style('p', 'test-p'); 

    }); 

獲取元素樣式的問題是,您不僅僅獲取設置值,而且還會獲取默認值。用這段代碼我試圖得到一個元素的設置值。這項工作既與inline風格以及與<style><link>

+1

這隻會獲得內聯指定的CSS屬性。任何來自外部CSS文件或'