Klonen von Elementstilen für Pseudo-Klonen
Problem:
Sie möchten ein jQuery-Plugin, das emuliert das Klonen von Elementstilen, ohne das Element-Tag einzuschränken. Beispielsweise möchten Sie möglicherweise eine Formulareingabe erstellen, die das visuelle Erscheinungsbild eines vorhandenen Bereichs nachbildet.
Lösung:
Ein geeignetes Plugin für diesen Zweck ist getStyleObject. Dieses Plugin ruft alle berechneten CSS-Stile für ein bestimmtes Element ab, einschließlich derer, die nicht explizit durch Inline-Stile festgelegt wurden.
Implementierung:
<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>
Verwendung:
Um Stile von einem Element auf ein anderes anzuwenden, verwenden Sie die folgende Syntax:
<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>
Das obige ist der detaillierte Inhalt vonSo klonen Sie Elementstile ohne Tag-Einschränkungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!