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 :

Récupérer un attribut directement depuis la méthode load


Sujet :

jQuery

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Septembre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2022
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Récupérer un attribut directement depuis la méthode load
    Hello,

    J'utilise un code pour afficher la liste de toutes les urls de mon site web et j'ajoute un div avec id results où je voudrais stocker tous les data-video-url que je trouve dans ces pages :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <ul class="pages">
     @foreach(var pageNode in pages){
          var url = UrlPath.ResolveUrl(pageNode.GetUrl(culture), true, true);
          <li>@url</li> 
     }
     </ul>
     
    <div id="results">
    </div>

    Ensuite j'utilise un script pour loader chaque page à l'intérieur desquelle je vais chercher les boutons et je stocke le code HTML du bouton dans #results. Mais ce que je voudrais en fait stocker c'est l'attribut data-video-url qui se trouve sur ces boutons..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $("ul.pages li").each(function() {
        var loadText = $(this).html() + "button";
        $("#results").append($('<div>').load(loadText));
      });
    Est-ce qu'il y a un moyen de récupérer directement cet attribut plutôt que le code du button?

    Merci
    Sophie

    J'ai aussi tenté de faire ce travail en 2 étapes : d'abord charger les code html button puis recupérer l'attribut mais mon message d'alerte "Process is finished" apparait avant que mes pages soient toutes crawlées.. je suppose que je n'ai pas bien compris le fonctionnement des Deferred :-(

    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
    function crawl(){
       var r = $.Deferred();
       $("ul.pages li").each(function() {
        var loadText = $(this).html() + "button";
        $("#results").append($('<div>').load(loadText));
      });
      return r;
    }
     
     
    function getVideoUrls(){
      var r = $.Deferred();
      $("#results div").each(function(){
        var urlVideo = $(this).find("button").attr("data-video-url");
        if(urlVideo != null){
          $(this).append("<p>" + urlVideo + "</p>");
        }
      });
      return r;
    }
     
    // Now call the functions one after the other using the done method
    crawl().done(getVideoUrls().done(alert("Process is finished")));

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Bonjour,

    Citation Envoyé par sjarlier Voir le message
    Ensuite j'utilise un script pour loader chaque page à l'intérieur desquelle je vais chercher les boutons
    Je ne comprends pas vraiment à quoi ressemble le @url ? c'est seulement un lien comme https://domaine.com ou bien un lien + html ?

    Je pose cette question parce que la ligne var loadText = $(this).html() + "button"; n'a aucun rapport avec la récupération du bouton, c'est plutôt une concaténation de l'html de <li> et le texte "button".

    fait un clic droit sur le <ul class="pages"> puis inspecter, et montre nous le code html.

Discussions similaires

  1. Récupérer les attributs d'une règle SQL depuis un Job
    Par Raccar dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 30/04/2019, 12h11
  2. Réponses: 9
    Dernier message: 13/11/2015, 16h00
  3. Réponses: 1
    Dernier message: 11/11/2012, 17h30
  4. Réponses: 2
    Dernier message: 30/08/2006, 10h50
  5. [Spring]Récupérer l'attribut de Controller depuis vue JSP
    Par ran_hery dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 29/03/2006, 13h39

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