Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581

    [JQuery] ricavare elemento in base a id e termine classe

    Ciao, ho un elemento "A" che ha un id che conosco mentre la classe potrebbe terminare o con "qualcosaltro nascosto" o con "qualcosa visibile".
    Conosco quindi l'id e il valore che può assumere l'ultima parola del tag class

    La mia necessità è, sul click di un determinato elemento "B", verificare come finisce questo elemento "A" per dargli la classe visibile o nascosto .. in pèratica devo mostrare se è nascosto o nascondere se è visibile

    premettendo che so poi come applicare la corretta classe, ho scritto un parte di codice per fare un alert ... ho provato così ma non funge

    codice:
                $('#linkDivLog').on("click", function(){
                    alert($("#linkDivLog").is("class$=['nascosto']") ? "MOSTRO":"NASCONDO");
                    return false;
                });
    qualcuno può aiutarmi?
    grazie mille

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    A) L'id è univoco?
    B) L'evento on e racchiuso nel ready?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    si, è univoco sia l'id del link che riceve il click, sia l'id del div che devo mostrare/nascondere applicando la relativa classe
    si, l'evento è racchiuso nel doc.ready
    riscrivo il codice che prima c'era un errore di id
    codice:
    $(document).ready(function() {
                $('#linkDivLog').on("click", function(){
                    alert($("#cronoLog").is("class$=['nascosto']") ? "MOSTRO":"NASCONDO");
                    return false;
                });
    });

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    L'oggetto linkDivLog è presente al caricamento della pagina o viene generato successivamente?
    Hai provato cosi alert($("#cronoLog").attr("class") == 'nascosto' ? "MOSTRO":"NASCONDO")?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,726
    Ciao, a prescindere dal resto, la sintassi di questo selettore è sbagliata:
    codice:
    is("class$=['nascosto']")
    Secondo la documentazione, si dovrebbe scrivere così:
    codice:
    is("[class$='nascosto']")
    Ad ogni modo non ho capito bene le tue indicazioni.
    Se nascosto e visibile sono dei termini "isolati" all'interno dell'attributo class allora sono in tutto e per tutto dei termini che identificano, loro stessi, delle classi, per cui il metodo da te utilizzato non avrebbe tanto senso (anche se potrebbe funzionare).

    Facendo un esempio: se tu hai una situazione del tipo class="qualcosa qualcosaltro-nascosto", in questo caso il termine nascosto è comunque parte del nome classe qualcosaltro-nascosto. Hai quindi due classi (qualcosa e qualcosaltro-nascosto) che puoi usare singolarmente per identificare quel dato elemento.
    Se invece la situazione fosse class="qualcosa qualcosaltro nascosto" (un diverso ordine dei termini non fa alcuna differenza) allora il termine nascosto è di per se una classe. In questo caso hai tre classi (qualcosa, qualcosaltro e nascosto) che puoi usare comunque singolarmente per identificare quell'elemento.

    Se tu hai la prima situazione allora avrebbe senso il metodo da te utilizzato, altrimenti può avere più senso quanto indicato da Andrea oppure, ancora meglio, una cosa del genere:
    codice:
    alert($("#cronoLog").hasClass("nascosto") ? "MOSTRO":"NASCONDO");
    o anche:
    codice:
    alert($("#cronoLog.nascosto").length ? "MOSTRO":"NASCONDO");
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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