Holen Sie Teil einer Zeichenkette mit Hilfe von jQuery
HTML-code:
<div id="block-id-45"></div>
Wie kann ich die Anzahl "45" der string mit jQuery?
- Sie wissen schon 45, was ist das Muster, das Sie suchen..? jQuery Ihnen helfen kann, das div-element, wenn Sie wissen, dass der name (oder Teil des namens), wenn Sie wollen, zerreißen Sie den string, dann verwenden Sie die Sprache für split/regex etc.
- Ich gehe davon aus das Muster ist der Anfang der ID mit ein ... so etwas wie
block-id-
. - Er war nicht auf der Suche nach einem Muster , nur wollte ein Teil, das Muster und die Antwort mit hoch-Verhältnisse nicht diese Antwort. Fragt er nur "Wie erfahre ich die Zahl "45" string "
- Da Sie Ihre id sieht wie der block-id-45, $(this).attr("id").split("-")[2] zurück Nummer 45, wenn $(this) wieder Ihre Ziel-div-element.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu zurück die Zahl am Ende einer
id
Attribut verwendenOben zurück
45
wenn$(this)
ist<div id="block-id-45"></div>
jsFiddle-Beispiel
Den Weg der oben genannten arbeiten ist, dass Sie das abrufen der id des Elements mit
.attr()
, dann schauen Sie auf dieid
und verwenden.match()
zu erholen, die Zahl am Ende./[\d]+$/
ist ein regex.[\d]
bedeutet eine Ziffer+
bedeutet, dass ein oder mehr (Ziffern). und$
bedeutet das Ende der Zeile.Können Sie verwenden Sie diese Funktion zum abrufen der zahlen von Ende alle divs mit einer id beginnt mit
block-id-
durch die Nutzung der Attribut beginnt mit Selektor[name^=Wert]
und.each()
:Praktische Verwendung:
jsFiddle-Beispiel
Brauchen Sie nicht (oder besonders) jQuery für dieses (es ist sehr nützlich für viele anderen Dinge, nur nicht besonders für diese). Gerade JavaScript und DOM:
Live-Beispiel: http://jsbin.com/osozu
Wenn Sie bereits mit jQuery, können Sie ersetzen Sie die erste Zeile mit:
...aber es gibt wenig Grund zu.
Mit jQuery einfach:
Für alle block-id-##, die Sie verwenden können, Maske, Muster von Peter ' s Antwort: