首頁 >web前端 >js教程 >如何在沒有標籤限制的情況下克隆元素樣式

如何在沒有標籤限制的情況下克隆元素樣式

DDD
DDD原創
2024-10-22 12:40:02932瀏覽

How to Clone Element Styles Without Tag Restrictions

用於偽克隆的克隆元素樣式

問題:

您想要一個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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn