IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Englober un élément en entier


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Par défaut Englober un élément en entier
    Bonjour, dans le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function LB_findTargets(container, specific_class) {
    	var elements = $(container).find(specific_class).toArray();
    	for (var el of elements) {
    		console.log($(el));
     
    		if ($(el).prop("tagName") == "IMG") {
    			LB_modifyTarget(el, $(el).attr("src"), 'image', $(el));
    		}
    		if ($(el).prop("tagName") == "P") {
    			LB_modifyTarget(el, $(el).attr("src"), 'text', $(el).contents());
    		}
     
    	}
    }
     
     
    function LB_modifyTarget(element, href, data, content) {
    	$(element).replaceWith('<a href="'+href+'" data-featherlight="'+data+'">'+content+'</a>');
    }
     
     
    $(document).ready(function(){
    	LB_findTargets("#page_center_content", ".lightbox");
    });
    la ligne 7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    			LB_modifyTarget(el, $(el).attr("src"), 'image', $(el));
    envoie l'élément $(el) à la fonction LB_modifyTarget(), en tant que paramètre "content", pour génération d'un lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(element).replaceWith('<a href="'+href+'" data-featherlight="'+data+'">'+content+'</a>');
    mais la variable "content" renvoie :

    [object Object]
    J'aimerai donc savoir comment renvoyer l'élément en entier (le code HTML quoi) de l'élément $(el), qui est soit une image, soit un paragraphe (en l'occurence, le test est effectué sur une image).

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 683
    Par défaut
    essayez avec cette méthode :
    https://api.jquery.com/html/

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Par défaut
    Malheureusement la fonction .html() ne convient pas, puisqu'elle récupère ce qui est à l'intérieur, mais pas l'élément en lui-même.

    La solution m'a été donné sur un chat, et c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(el).prop('outerHTML')

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    si j'ai bien compris c'est ce que fait la méthode jQuery.wrap().

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    si j'ai bien compris ....
    Non plus ! Je n'avais pas envie de modifier ce qu'il y a autours, pas plus que je n'avais envie de modifier ce qu'il y a dedans !
    Et le sujet est résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression d'un élément de type entier dans un tableau
    Par free_01_binairy dans le forum C
    Réponses: 15
    Dernier message: 31/05/2017, 19h08
  2. Afficher l'élément le plus fréquent dans un tableau d'entiers
    Par crastinette dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 30/05/2017, 13h32
  3. Suppression d'un élément d'un vecteur d'entiers
    Par fleurtulipe dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 29/11/2016, 12h38
  4. séparer un élément entier en matrice
    Par emilevillella dans le forum MATLAB
    Réponses: 1
    Dernier message: 22/09/2014, 06h58
  5. Réponses: 4
    Dernier message: 05/06/2002, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo