Maison  >  Article  >  interface Web  >  Explication détaillée de l'exemple de fonction jQuery.clone()

Explication détaillée de l'exemple de fonction jQuery.clone()

巴扎黑
巴扎黑original
2018-05-19 16:16:181950parcourir

La fonction

clone() est utilisée pour cloner une copie de l'ensemble actuel d'éléments correspondants et la renvoie sous la forme d'un objet jQuery. Vous pouvez aussi simplement le comprendre comme : cloner l’objet jQuery actuel.

Vous pouvez également spécifier s'il faut copier des données supplémentaires (fonction data()) de ces éléments correspondants (même leurs enfants) et lier des événements.

Cette fonction appartient à l'objet (instance) jQuery.

Syntaxe

jQueryObject.clone( withDataAndEvents [, deepWithDataAndEvents ] )

Paramètres

Description du paramètre

withDataAndEvents Type facultatif/booléen Que ce soit pour copier les données supplémentaires et les événements de liaison de l'élément en même temps, la valeur par défaut est false.

deepWithDataAndEvents Type facultatif/booléen Que ce soit pour copier les données supplémentaires et les événements de liaison de tous les sous-éléments de l'élément en même temps, la valeur par défaut est la valeur du paramètre withDataAndEvents.

clone() est principalement utilisé pour cloner une copie de l'objet jQuery actuel.

Nouveau support de jQuery 1.5 : clone() prend en charge le deuxième paramètre deepWithDataAndEvents. Ce paramètre indique s'il faut copier des données supplémentaires et des événements de liaison pour tous les éléments enfants de l'élément cloné en même temps.

Remarque :

1. Avant jQuery 1.4, la fonction clone() copiait uniquement en plus l'événement de liaison de l'élément. À partir de la version 1.4, elle commençait à prendre en charge la copie des données supplémentaires de l'élément. élément.

2. Dans la version 1.5.0 (uniquement 1.5.0), la valeur par défaut du paramètre withDataAndEvents était incorrectement définie sur true. À partir de la 1.5.1, sa valeur par défaut a été rétablie à false.

Valeur de retour

clone()La valeur de retour de la fonction est de type jQuery et renvoie une copie clone de l'objet jQuery actuel.

Remarque : Pour des raisons de performances, la fonction clone() ne copiera pas la dynamique de certains éléments du formulaire, tels que le contenu saisi par l'utilisateur dans 4750256ae76b6b9d804861d8f69e79d3 sélectionnez>. Cependant, la dynamique de l'élément d5fd7aea971a85678ba271703566ebfd sera copiée, comme le contenu saisi par l'utilisateur dans le texte et l'état sélectionné par l'utilisateur dans la case à cocher.

Exemple et description

La fonction clone() est utilisée pour cloner l'objet jQuery actuel. Veuillez vous référer au code HTML suivant à titre d'exemple :

<p id="n1">
    <input id="n2" type="button" value="按钮1" />
    <input id="n3" type="button" value="按钮2" />
</p>

L'exemple de code jQuery suivant est utilisé pour démontrer l'utilisation spécifique de la fonction clone() :

// Version actuelle de jQuery : 1.11.1

$(":button").click( function(){

document.writeln( this.value );

} );

var $n2 = $("#n2");

$n2.data("myData", "Additional data");

/ /Aucune donnée supplémentaire à cloner et événement de liaison

var $clonedN2 = $n2.clone(); // Les deux paramètres sont par défaut false

document.writeln( $clonedN2.data(" myData") ) ; // undefined

$clonedN2.trigger("click"); // (Aucun événement de clic lié, aucune sortie de réponse)

//Cloner des données supplémentaires et des événements liés en même temps

var $clonedN2WithCopy = $n2.clone( true ); // Deux paramètres : true, true (le deuxième paramètre n'est pas défini, la valeur par défaut est la valeur du premier paramètre)

document.writeln( $clonedN2WithCopy.data("myData") ); // Données supplémentaires

$clonedN2WithCopy.trigger("click");

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