2010-01-01 10 views
40

Sto cercando di ottenere un div che ha "pannello corrente" come nome di classe. Il problema è lo spazio - come posso selezionarlo?jQuery: selettore (nome classe con spazio)

+1

http://docs.jquery.com/Selectors/class#classclass avrebbe dovuto risolto questo per voi. –

risposta

100

I nomi di classe non possono contenere spazi. Quello che hai sono due classi:

<div class="panel current"> 

Questo div ha due classi: pannello e corrente. Questo è facilmente selezionato:

$("div.panel.current")... 

che significa selezionare tutti i div che hanno pannello di classe e corrente di classe.

3

Il div ha due nomi: class

  • panel
  • current

È possibile utilizzare $("div.panel") o $("div.current") per selezionarlo.

5

panel current non è un nome di classe, in realtà si tratta di due nomi di classe. È possibile utilizzare il seguente selettore:

$('.panel.current') 
11
$('div').filter(function() { 
    return this.className == 'panel current'; 
}); 

O

$("div[class='panel current']"); 

Utilizzare questo se è necessario abbinare un elemento con una corrispondenza esatta dei nomi delle classi (spazi inclusi)

Il altri poster hanno ragione, il DiV che hai pubblicato ha due nomi di classe: 'panel' e 'current'; Se si desidera selezionarli entrambi, utilizzare $('.panel.current').

Ciò comprenderà anche elementi come:

<div class="foo panel bar current"></div>