[jQuery] String im ID-Bezeichner auslesen

unrealzero_php

Erfahrenes Mitglied
Hallo zusammen

Wie kann ich am besten einen Wert (Nr.) aus einem Div-Tag lesen.

Bis jetzt habe ich folgende Möglichkeiten versucht:

Dem Div-Tag ein zusätzliches Attribut rel="" hinzugefügt und da den Wert hinterlegt. Das Problem ist, dass dies nicht HTML-Valid ist.
Code:
$('.test').click(function(){
        var module_id = $(this).attr('rel');
        $('#test_result' + nr).show();
    });

Eine weitere Idee wäre, die Nr direkt (dynamisch) in die ID="" zu schreiben aber wie kann ich anschliessen den Wert wieder isolieren bzw. vom restlichen ID-Wert trennen?

Bsp.
HTML:
<div id="test_12"></div>
<div id="test_13"></div>
<div id="test_14"></div>
<div id="test_15"></div>

Hier kann ich die ID auslesen > "test_12", ich möchte aber lediglich den Wert 12 erhalten.

Code:
    $('[id^=test_]').click(function(){
$(this).attr('id');
    });
 
Wie so oft lässt sich auch dieses Problem mit Regulären Ausdrücken lösen.

Code:
$('[id^=test_]').click(function(){
    $(this).attr('id').match(/[0-9]+/)[0];
});
 
Zuletzt bearbeitet:
Wenn der numerische Teil deiner ID's immer die letzten zwei Stellen der ID besetzt kannst du diese Stellen auch via substr abschneiden.
Falls der numerische Teil aber eine variable länge hat - dann sind Regular Expressions der beste Weg.
 
Zurück