用於偽克隆的克隆元素樣式
問題:
您想要一個jQuery 外掛程式模擬克隆元素樣式而不限制元素標籤。例如,您可能想要建立一個複製現有跨度視覺外觀的表單輸入。
解決方案:
適合此目的的插件是 getStyleObject。此外掛程式會擷取給定元素的所有計算 CSS 樣式,包括那些未透過內聯樣式明確設定的樣式。
實作:
<code class="javascript">/* * getStyleObject Plugin for jQuery JavaScript Library * From: http://upshots.org/?p=112 * * Copyright: Unknown, see source link * Plugin version by Dakota Schneider (http://hackthetruth.org) */ (function($){ $.fn.getStyleObject = function(){ var dom = this.get(0); var style; var returns = {}; if(window.getComputedStyle){ var camelize = function(a,b){ return b.toUpperCase(); } style = window.getComputedStyle(dom, null); for(var i=0;i<style.length;i++){ var prop = style[i]; var camel = prop.replace(/\-([a-z])/g, camelize); var val = style.getPropertyValue(prop); returns[camel] = val; } return returns; } if(dom.currentStyle){ style = dom.currentStyle; for(var prop in style){ returns[prop] = style[prop]; } return returns; } return this.css(); } })(jQuery);</code>
用法:
要將樣式從一個元素套用到另一個元素,請使用以下語法:
<code class="javascript">// original element var original = $("#original"); // cloned element without styling yet var cloned = original.clone().appendTo(original.parent()); // get styles from original element var style = original.getStyleObject(); // apply styles to cloned element cloned.css(style);</code>
以上是如何在沒有標籤限制的情況下克隆元素樣式的詳細內容。更多資訊請關注PHP中文網其他相關文章!