Maison > interface Web > js tutoriel > Comment cloner des styles d'éléments sans restrictions de balises

Comment cloner des styles d'éléments sans restrictions de balises

DDD
Libérer: 2024-10-22 12:40:02
original
1001 Les gens l'ont consulté

How to Clone Element Styles Without Tag Restrictions

Styles d'éléments de clonage pour le pseudo-clonage

Problème :

Vous voulez un plugin jQuery qui émule les styles d'éléments de clonage sans restreindre la balise d'élément. Par exemple, vous souhaiterez peut-être créer une entrée de formulaire qui reproduit l'apparence visuelle d'une étendue existante.

Solution :

Un plugin approprié à cet effet est getStyleObject. Ce plugin récupère tous les styles CSS calculés pour un élément donné, y compris ceux qui ne sont pas explicitement définis via les styles en ligne.

Implémentation :

<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>
Copier après la connexion

Utilisation :

Pour appliquer des styles d'un élément à un autre, utilisez la syntaxe suivante :

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal