Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Aggiungere Attributi ai TAG

    mettiamo che voglia classificare i tag <A> di una pagina tramite delle variabili

    all'inizio usavo impropriamente l'attributo CLASS
    ma ovviamente è poco corretto,
    per questo mi chiedevo se potevo aggiungere attributi a mio piacere così da mantenere il codice ordinato

    1. voglio le pagine rimangano valide
    2. con FF la pagina viene passata in XHTML, ma in IE in HTML

    poichè tali attributi li userei solo per certi script in javascript, che debba/possa crearli con le DOM ? :master:
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  2. #2
    vedo in giro che manipolare "class" non è solo una mia idea bizzarra...ma in molti lo fanno, tuttavia mi "stona" il suo uso in questo modo.

    questa non è male, aggiunge al DTD gli attributi che mi servono

    voi che ne pensate?
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  3. #3
    Per firefox aggiungi attributi in questo modo element[attributo] = 'ciccio',
    mentre in IE usi element.setAttribute() ....

    io gestisco il tutto in con una try{} catch(){}:

    Se va in errore esegur la catch dove è scritto il codice per l'altro browser.

    Esempio

    //FF
    try{
    elem[target] = '_blank';
    }
    //IE
    catch(e){
    ele.setAttribute("target",'_blank');
    }

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  4. #4
    ottimo, così abbiamo entrambe le versioni:

    QUELLA LATO SERVER
    Codice PHP:
    <!DOCTYPE html PUBLIC
    "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    [
      <!
    ATTLIST textarea maxlength CDATA #IMPLIED>
      
    <!ATTLIST textarea required (true|false#IMPLIED>
      
    <!ATTLIST input required (true|false#IMPLIED>
      
    <!ATTLIST select required (true|false#IMPLIED>
    ]> 
    QUELLA LATO CLIENT
    Codice PHP:
    //FF
    try{
    elem[target] = '_blank';
    }
    //IE
    catch(e){
    ele.setAttribute("target",'_blank');



    nb: io non voglio solo aggiungere attributi alla pagina ...ma proprio al DTD, cmq la tua soluzione è ugualmente ottima poichè li aggiunge tramite javascript quindi raggira il problema della validazione (...sempre che FF non sia così pignolo da validare al volo e dare errore)
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  5. #5
    ops... se in IE aggiungiamo attributi con ATTLIST "inline" al doctype, scrive "]>" nel documento

    lo stesso articolo sostiene in fondo che non c'è soluzione e che l'unica cosa da fare il customizzare il DTD ....cosa deprecata da W3

    maronna...ma possibile ....che mi tocca creare un marchingegno in javascript per fare il tutto ?
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  6. #6
    sembra che le uniche soluzioni siano:

    - usare un proprio DTD = DTD standard + 4 righe finali di personalizzazioni: ma la cosa mi fa paura VVoVe: ...significa che per caricare quella pagina con DTD customizzato il browser dovrà perdere tempo a caricare anche il mio DTD ?!?!?!?!

    - usare in modo scorretto il class, poichè ho scoperto che si può anche scrivere così:
    Codice PHP:
    <class="neutro livello=1 ramo=2"
    in questo modo verrà applicata la class "neutro" e posso anche usare gli altri valori analogamente ad una query string...ma si va contro la logica della separazione tra "apparenza" e "comportamento"

    :master:

    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  7. #7
    Forse andare ad implementare la DTD, in questo caso, non è la soluzione migliore.

    Che ne dici di illustrarci in dettaglio il contesto ed il risultato che vuoi raggiungere? Magari ragionandoci sopra riusciamo a trovare una strada che sfrutti gli strumenti che abbiamo già a disposizione.

  8. #8
    ciao Piero

    bah...è molto semplice: voglio classificare i link dei menu di una pagina in modo gerarchico, quindi ogni link avrà un "ramo" ed un "livello". In questo modo quando si avvera onclick faccio partire delle funzioni che fanno certe cose sulla base della posizione gerarchica del link (per esempio nasconde i div dello stesso ramo ma dei livelli inferiori). Usando rigorosamente XHTML1.1 deve rimanere tutto valido.

    fino ad ora usavo una cosa del tipo:
    Codice PHP:
    <div id="LinkMenu"><class="LinkRAL2" ...>scelta1</a></div
    che mi faceva capire che era un link del ramo=A e livello=2 ....ma così facendo non potevo attribuire in diretta un class al tag, ma solo indirettamente con
    Codice PHP:
    #LinkMenu a {...} 
    l'ideale era avere:
    Codice PHP:
    <class="LinkMenu" ramo="A" livello="2" ...>scelta1</a
    ma come visto, seppure la cosa migliore, non è facilmente attuabile

    quindi mi si propone questa soluzione:
    Codice PHP:
    <class="LinkMenu ramo=A livello=2" ...>scelta1</a
    interessante ma di poco migliore della prima soluzione

    ps: ottima la soluzione di scrivere gli attributi con javascript, ma in questo caso non va bene perchè la scrittura avviene lato server
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  9. #9
    mi si ripresenta questo dannato problema.

    l'idea di usare class è l'unica soluzione tuttavia spesso si usa cambiare la class con javascript per avere effetti particolari quindi mi veniva in mente un'altro trucco:

    mettere tali attributi dentro il contenuto del tag, come commento html


    Codice PHP:
    <a href="sito.htm" class="LinkOff" onmouseover="this.className='LinkOn';">

    link1
    </a
    a questo punto con le regex ricavo il contenuto "var livello=1, ramo=2;" che eseguo con eval

    che dite? un genialata vero :ignore:
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

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.