ホームページ >ウェブフロントエンド >jsチュートリアル >タグの制限なしで要素スタイルを複製する方法
擬似複製のための要素スタイルの複製
問題:
次のような 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 中国語 Web サイトの他の関連記事を参照してください。