Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [Jquery] Before this

  1. #1

    [Jquery] Before this

    Ciao a tutti.

    Devo stampare prima di un testo, il contenuto del figlio stesso e all'interno del testo, un secondo figlio:

    codice:
    <p class="padre">Questo è il testo <span>Questo è il figlio</span></p>
    Devo ottenere il seguente risultato

    codice:
    Questo è il figlio</p>
    <p class="padre"><span>Il secondo figlio</span>Questo è il testo </p>
    Per farlo uso il comando .before come segue:

    codice:
    $('p.padre').prepend('<span>Il secondo figlio</span>').before(
    '<p class="madre">'+$(this).children().text()+'</p>';
    Purtroppo continua a darmi errore.
    Riesco se uso il seguente comando:

    codice:
    $('p.padre').prepend('<span>Il secondo figlio</span>').before(
    '<p class="madre">'+$('p.padre>span').text()+'</p>';
    ma avendo più istanze nella stessa pagina, mi prende tutti i valori di p.padre>span presenti.


    Avete dei suggerimenti?? Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    this a cosa si riferisce? come richiami quelle due righe di codice?

  3. #3
    Ma... $(this) dovrebbe riferirsi a $('p.padre') no?

    Le righe non vengono richiamate da nulla, cioè, al caricamente della pagina viene eseguito questo codice.

    Vuoi dire che in $('p.padre').before($(this))... il this non è riferito a $('p.padre')?

    Allora come faccio a prendere il contenuto di quel paragrafo?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se vengono eseguite al caricamento della pagina this non si riferisce certamente a p.padre. Recupera la collezione di oggetti p.padre ciclala e fai le tue modifiche

  5. #5
    Recupera la collezione di oggetti p.padre ciclala e fai le tue modifiche

    Ok, lo faccio.

    Mi aiuti per favore a capire (cosi lo so la prossima volta) come recuperare la collezione e ciclarla?

    Non saprei proprio che significa.

  6. #6
    Potrebbe voler dire qualcosa del genere?

    codice:
    $('p.padre').each(function() {
                alert("text: "+$(this).text());
            });
    Il problema è che io so quali sono i figli di p.padre, ci potrei accedere magari tramite :first


    ....

    No, perchè comunque mi prende solo il primo e non per ogni.

    A meno che non uso un each:

    codice:
    $('p.padre').each(function() {
               $(this).prepend(...).before(...);
            });

  7. #7

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.