Ce qui est important de réaliser est qu'il ya vide attributs de classe ainsi que des éléments sans un attribut de classe, mais ils ont besoin de tests différents pour sélectionner.
Il existe un certain nombre de tests qui font tous des choses différentes.Voici notre HTML pour nos tests:
<div class="">Empty Class Attribute </div>
<div class="column">Full Class Attribute </div>
<div>No Class Attribute </div>
Maintenant, permet d'exécuter nos tests (La première partie est simplement une chaîne qui nous permet de savoir ce qui vient d'être appelé dans l'alerte, sinon il n'a pas de sens):
$(document).ready(function(e){
// Outputs "Empty Class Attribute Full Class Attribute"
alert("div[class] : " + $('div[class]').text() );
// Outputs "Full Class Attribute"
alert("div[class!=''] : " + $('div[class!=""]').text());
// Outputs "Empty Class Attribute"
alert("div[class=''] : " + $('div[class=""]').text() );
// Outputs "No class Attribute"
alert("div:not([class]) : " + $('div:not([class])').text() );
});
vous pouvez voir ce code dans votre navigateur en vous rendant ici: http://jsbin.com/ijupu
maintenant, armé de ce savoir, si vous voulez sélectionner tous les éléments div
sur la page avec soit un attribut vide et aucun attribut, utilisez le sélecteur suivant:
$("div[class=''], div:not([class])");
hmm. Cela ne répond pas à la question posée. –
@Scott Evernden: Eh bien, en fait, je ne vois pas de question. ;) – Gumbo
Pour plusieurs cas de 'non', vous pouvez faire quelque chose comme' div: not ([class], [style]) ' – jocull