Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [Jquery] - Children e attr

    Ciao a tutti

    Avendo un codice come il seguente:
    codice:
    <div class="elem">
    Collegamento
    
    
    Testo testo testo</p>
    </div>
    se voglio in qualche modo rendere tutto il div cliccabile uso una funzione simile:

    codice:
    $('.elem').click(function(){
      var link=$(this).children('a').attr('href');
      location.href=link;
    });
    a livello logico è corretta. Perchè allora non funziona. Ovvero non mi restituisce nella variabile link il contenuto dell'attributo href.

    Mentre se faccio:
    codice:
    var link=$(this).children('a').html();
    link assume il valore corretto di :
    codice:
    Collegamento
    e se faccio:
    codice:
    var link=$(this).find('a').attr('href');
    link assume il valore corretto di:
    codice:
    http://indirizzo
    qual'è secondo voi il motivo o l'errore in cui incorro?

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    ho capito quello che vuoi fare ma non ho compreso bene tutta la spiegazione, quando penso di aver capito quello che dici la frase successiva mi fa ritornare il dubbio

    Comunque, andiamo per gradi, questo codice:

    Codice PHP:
    $('.elem').click(function(){
      var 
    link=$(this).find('a').attr('href');
      
    alert(link)
      
    location.href=link;
    }); 
    Cosa ti restituisce l'alert?

  3. #3

  4. #4

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Mi diresti cosa ti restituiscono i seguenti alert?

    Codice PHP:

    alert
    ($(this));

    alert($(this).attr('tagName')); 

  6. #6
    porca..
    ho sbagliato a leggere e quindi a risponderti.

    La risposta alla tua prima domanda:
    Quote Originariamente inviata da razorblade
    Comunque, andiamo per gradi, questo codice:

    Codice PHP:
    $('.elem').click(function(){
      var 
    link=$(this).find('a').attr('href');
      
    alert(link)
      
    location.href=link;
    }); 

    Cosa ti restituisce l'alert?
    Mi restituisce il corretto indirizzo del link.

    è la funzione

    Codice PHP:
    $('.elem').click(function(){
      var 
    link=$(this).children('a').attr('href');
      
    alert(link)
      
    location.href=link;
    }); 
    a restituirmi un alert vuoto.

  7. #7
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ma la versione con 'find' non esegue il redirect al'indirizzo specificato?
    Prova cosi:

    Codice PHP:
    $('.elem').click(function(){
      var 
    link=$(this).find('a').attr('href');
    try{
      
    location.hreflink;
    }catch(
    e){
     
    alert(e);
    }
    }); 
    cosa restituisce l'alert?

  8. #8
    probabilmente non mi sono spiegato bene.

    La versione con find funziona. Mi rimanda all'indirizzo specificato.

    Quello che non capisco è perchè la versione con children non lo faccia?

  9. #9
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Scusa, non avevo capito.
    Prova ad attribuire una classe al tag a, per esempio 'miaClasse'

    Codice PHP:
    $('.elem').click(function(){
      var 
    link=$(this).children('.miaClasse').attr('href');
      
    alert(link)
      
    location.href=link;
    }); 
    Funziona?

  10. #10
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se l' xhtml dell' esempio con children che hai postato all' inizio e' esattamente cosi', mi risulta corretto

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 © 2026 vBulletin Solutions, Inc. All rights reserved.