web-dev-qa-db-fra.com

jQuery: sélecteur (nom de classe avec espace)

J'essaie d'obtenir un div qui a "panel current" comme nom de classe. Le problème est l'espace - comment le sélectionner?

48
Fuxi

Les noms de classe ne peuvent pas contenir d'espaces. Ce que vous avez, il y a deux classes:

<div class="panel current">

Ce div a deux classes: panneau et courant. C'est facile à sélectionner:

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

Cela signifie que sélectionnez toutes les divs qui ont un panneau de classe et courant de classe.

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

OR

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

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

Les autres affiches ont raison, le DiV que vous avez affiché 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>
13
David Hellsing

panel current n'est pas un nom de classe, il s'agit en fait de deux noms de classe. Vous pouvez utiliser le sélecteur suivant:

$('.panel.current')
6
Darin Dimitrov

div a deux class noms:

  • panel
  • current

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

3
umar