2010-01-01 3 views
40

J'essaie d'obtenir un div qui a "panel current" comme nom de classe. Le problème est l'espace - comment puis-je le sélectionner?jQuery: selector (nom de classe avec espace)

+1

http://docs.jquery.com/Selectors/class#classclass aurait résolu ce pour vous. –

Répondre

100

Les noms de classes ne peuvent contenir d'espaces. Ce que vous avez il ya deux classes:

<div class="panel current"> 

Cette div a deux classes: panneau et courant. C'est facilement sélectionné:

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

Cela signifie sélectionner tous les divs qui ont panneau de classe et courant de classe.

3

Le div a deux noms: class

  • panel
  • current

Vous pouvez utiliser $("div.panel") ou $("div.current") pour le sélectionner.

5

panel current n'est pas un nom de classe, en réalité ce sont deux noms de classe. Vous pouvez utiliser le sélecteur suivant:

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

OU

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

utiliser si vous devez faire correspondre un élément avec une correspondance exacte des noms de classe (y compris les espaces)

Le d'autres affiches ont raison, le DiV que vous avez posté a deux noms de classe: «panel» et «current»; Si vous souhaitez les sélectionner tous les deux, utilisez $('.panel.current').

Cela comprendra également des éléments tels que:

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