Oggi mi si è presentato questo problema.
Stavo realizzando una pagina php che deve visualizzare una tabella contenente determinati oggetti grafici (chiamiamoli pure immagini).
La tabella possiede due righe: la prima deve essere sempre visualizzata; la seconda, invece, deve essere visualizzata solo quando si passa sopra la prima riga con il mouse.
Realizzarlo è abbastanza banale via javascript:
var type = "IE" //detects the capabilities of the browser function BrowserSniffer() { //Opera if (navigator.userAgent.indexOf("Opera")!=-1 && document.getElementById) type="OP" //Internet Explorer e.g. IE4 upwards else if (document.all) type="IE" //Netscape Communicator 4 else if (document.layers) type="NN" //Mozila e.g. Netscape 6 upwards else if (!document.all && document.getElementById) type="MO" //I assume it will not get here else type = "IE" } function ShowLayer(id, action) { if (type=="IE") eval("document.all." + id + ".style.visibility='" + action + ";'"); if (type=="NN") eval("document."; + id + ".visibility='" + action + "'"); if (type=="MO" || type=="OP") eval("document.getElementById('" + id + "').style.visibility='" + action + "'"); } |
Ma il problema in sè non è questo.
Il problema è che la seconda riga di questa tabella, contiene un id testuale, ma unico perchè associato ad un numero progressivo.
Esempio:
<tr> <td>qualcosa</td> <td>qualcos'altro</td> </tr> <tr> <td>qualcosa</td> <td>qualcos'altro</td> </tr> <tr> <td>qualcosa</td> <td>qualcos'altro</td> </tr> <tr> <td>qualcosa</td> <td>qualcos'altro</td> </tr> |
Tramite css, quindi, si vuole rendere invisibile la riga con un id il cui valore contenga pippo seguito da un numero. Dopo un’accurata lettura del reference sui selettori forniti da css, ho risolto così:
TR[id] { visibility: hidden; } |
Sinceramente non è proprio ciò che mi aspettavo, perchè questo implica che se mai mi verrà in testa di apporre un id ad una riga html, questa non verrà visualizzata. Cercavo, piuttosto, una cosa del tipo:
TR[id~=pippo*] { visibility: hidden; } |
pare, però, che non si possa fare.
Se volete consultare un’utile tabella sui selettori disponibili, vi consiglio di visitare questo sito.