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
929 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!

source:php
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