2011-11-06 19 views
6

Ho ID DIV in un'applicazione generata dinamicamente, con un ID alla fine. Ad esempio: <div id="vote_score_72">, <div id="vote_score_73">, <div id="vote_score_74"> e così via.Nome ID CSS "dinamico"? Come aggiungerli al file CSS?

Come posso scrivere quell'ID nel file CSS in modo da poter applicare uno stile ad esso?

+0

Devono fare cose diverse per ID diversi? – ceejayoz

+1

Come qualsiasi altro ID, con un segno '#'. ... Puoi dirci cosa stai effettivamente cercando di fare? Se questo viene fatto con JavaScript, è molto meglio avere una classe per gli stili comuni a tutti loro, quindi utilizzare la proprietà 'style' per applicare stili specifici degli articoli. Se tutti hanno gli stessi stili, usa invece le classi (Google "classi CSS"). – Ryan

+0

@ceejayoz no, la stessa cosa. È un'applicazione di Ruby on Rails che mostra storie diverse nella stessa pagina. Ogni storia ha un punteggio e il punteggio è racchiuso in un DIV con l'id della storia alla fine. –

risposta

19

seguito al suggerimento che si dovrebbe utilizzare le classi per questa funzionalità (e si dovrebbe), si può, invece, utilizzare l'attributo-valore-inizia-con selettore (questo potrebbe non essere il nome formale) :

div[id^=vote_score] { 
    color: #f00; 
    /* and so on... */ 
} 

JS Fiddle demo.


Redatta per aggiungere un link al Quirksmode.org s' compatibility tables for advanced attribute selectors.

Riferimenti:

+0

Grazie David, ha funzionato perfettamente. –

2

È necessario aggiungere una classe comune a tutti questi elementi e utilizzare questa classe nel CSS.

Classi sono il modo migliore per gestire lo stile comune per diversi elementi.

+0

Vedo, diciamo che cambio l'ID di una classe. Come scriverò il nome della classe nel file CSS? Come '.classname_changingnumber' –

+0

Puoi chiamare il nome della classe tutto quello che vuoi, anche se scegliere un nome pertinente al contenuto/scopo del' div 'avrebbe senso. –

+0

@FelipeCerda: no, il nome della classe dovrebbe essere univoco per tutti i div che vuoi stile. Quindi puoi fare riferimento a questo nome di classe nel tuo CSS – JMax