jquery nur den zweiten Klassenamen auslesen

Shooter2k

Erfahrenes Mitglied
Hallo Forum,
ich habe ein Problem bei jquery. Und zwar habe ich ein DIV in dem sich mehrere CSS-Klassen befinden. Ich möchte jetzt mit jquery genau den zweiten Klassenamen auslesen. Mein bisheriger Code sieht so aus:

HTML:
HTML:
<div class="klasse1 klasse2">text</div>
Jquery:
PHP:
var klassername = $('.klasse1').attr("class");
alert(klassename);
Er ließt immer beide Klassenamen aus. Kann man jquery eine Anweisung geben, dass genau der zweite Name ausgelesen wird?

Vielen Dank
gruß
 
Meines wissens nach gibt es sowas nicht.
Du kannst aber folgendes machen
Javascript:
$('.klasse1').attr('class').split(' ')[1]

Gibt entweder die zweite Klasse oder undefined zurück.

Ich frage mich allerding ein bischen wo der Sinn dabei sein soll. Wäre nicht vielleicht einfach der Class Selektor bzw. .hasClass() geschickter?
 
Danke für deine Antowrt. Funktioniert prima. Der Sinn der Sache ist, dass ich die Benutzerid als Klassennamen reinpacken möchte, anstatt sie in ein Hiddenfeld zu stecken.
 
Der Sinn der Sache ist, dass ich die Benutzerid als Klassennamen reinpacken möchte, anstatt sie in ein Hiddenfeld zu stecken.

Keine schöne Idee. Entweder verbau es im id-Attribut, oder noch besser verwende data-Attribute. Dann musst du zwar den html5 doctype verwendet oder dein xhtml einfach invalid werden lassen (was ich in so einem Fall absolut in Ordnung finde), aber es ist einfach der beste weg und jQuery hat das auch schön integriert.

HTML:
<div class="klasse1" data-userid="123">text</div>

Javascript:
alert( $('.klasse1').data("userid") );
 

Neue Beiträge

Zurück