2012-12-19 3 views
20

Mögliche Duplizieren:
How can you determine if a css class exists with Javascript?Get Liste der CSS-Klassen in Sheet mit Hilfe von JavaScript/jQuery

Gibt es eine Möglichkeit zu überprüfen, ob es eine Klasse einig Klasse-Name des Namen‘ "in CSS?

Zum Beispiel habe ich:

<style type="text/css"> 
    .box { 
     position: absolute; 
     left: 150%; 
    } 
</style> 

Meine Absicht ist es zufällig, eine Klasse zu einem div auf bestimmten Ereignis zuweisen:

var classList = []; //Need to populate this array 
$('#updateClass').on('click', function() { 
    $('#resultDiv').attr('class',classList[Math.floor((Math.random()*classList.length)+1)]); 
}); 

Ist es möglich, von JS/jQuery, ob ein zu prüfen, Klasse namens "box" existiert im Stylesheet?

I genannt This Question - How can you determine if a css class exists with Javascript?, aber die Antwort mir nicht helfen weil der Link in der Antwort nicht mehr existiert nicht.

Danke.

+10

überprüfen Sie diese Antworten: http://stackoverflow.com/questions/983586/how-can-you-determine-if-a-css-class-exists-with-javascript – silly

+2

'if ($ ('. Validierung- Fehler '). Länge) {/ * Ihr Code hier * /} 'aber ich vermute, es wird prüfen, Element hat Klasse? –

+0

Gibt es einen Grund, nach Klassennamen in CSS zu suchen? – Spoike

Antwort

1

Wie oben erwähnt (How can you determine if a css class exists with Javascript?), könnten Sie das komplette CSS für die angeforderte Klasse scannen, oder Sie könnten die angeforderte Klasse zu einem Element hinzufügen und prüfen, ob die Attribute der Klasse darauf zutreffen. Zum Beispiel:

document.getElementById('yourTestElementID').className=newClass; 
if(document.getElementById('yourTestElementID').style.position === 'thevalue') { 
    // class exists.... 
} 
-1

Ihr Zufallsalgorithmus:

Math.floor((Math.random()*classList.length)+1) 

werden Zufallszahl von bestimmten Bereich erzeugen oder allgemeiner von 1 bis classList.length.

Sie müssen nur sicher sein, dass die Klassennamen, die Sie verwenden und die im Array aufgefüllt werden, vorhanden sind.

Verwandte Themen