• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Tabellen-Elemente basierend auf exaktem Inhalt entfernen, aber ohne Sonderzeichen zu berücksichtigen

ldb

Mitglied
Hallo zusammen

Ich habe eine HTML-Tabelle, die etwas vereinfacht wie folgt aufgebaut ist:
Code:
<table id="dbem-bookings-table">
<thead></thead>
<tbody>
<tr>
<td><a href="#">Kurs 8 Bogenschiessen  - Teil 1</a></td>
<td>Freitag, 1. September 2017</td>
<td>Max Muster</td>
</tr>

<tr>
<td><a href="#">Kurs 1 - Testkurs</a></td>
<td>Donnerstag, 29. September 2017</td>
<td>Hugo Muster</td>
</tr>
</tbody>                    
</table>

Zusätzlich kann ich in meinem Dokument mit einem durch das CMS vorgegebenen Shortcode einen Kurstitel ausgeben lassen, in meinem Beispiel:

Code:
<span id="kurstitel">Kurs 1 – Testkurs</span>

Mit JQuery möchte ich nur diejenigen Zeilen in der Tabelle anzeigen lassen, die mit dem Inhalt des divs "#kurstitel" übereinstimmen. Der aktuelle Code sieht so aus:

Code:
$("#dbem-bookings-table tbody tr:not(:contains('Kurs 1 - Testkurs'))").remove();

Das Filtern funktioniert soweit auch einwandfrei. Mein Problem ist aber folgendes: Das CMS gibt leider den Kurstitel im div "#kurstitel" mit einem langen Geviertstrich (–) aus, den Titel in der Tabelle aber mit einem kurzen (-). Sobald ich also den JQuery-Code dahingehend anpasse, dass der Inhalt des spans als Selektor verwendet wird, funktioniert mein Code nicht mehr:

Code:
var variable = $("#kurstitel" ).text();
$("#dbem-bookings-table tbody tr:not(:contains('" + variable + "'))").remove();

Ich müsste also in meinem Filter-Code noch zusätzlich alle Sonderzeichen im Vornherein ausschliessen. Wichtig sind einzig und allein Zahlen und Buchstaben, der ganze Rest kann vernachlässigt werden. Die Strings sollten aber ansonsten beim Filtern identisch sein, weil später auch andere Listenelemente mit z.B. dem Wort "Testkurs" auftauchen können. Weil ich leider in JQuery und JavaScript noch immer Anfänger bin, wäre ich hierbei froh um jede Hilfe!

Herzlichen Dank und liebe Grüsse
Lukas
 
Danke, Sempervivum!

Der Vergleich der Strings funktioniert wunderbar. Leider habe ich aber keine Idee, wie ich nun das oder die "matchenden" Element(e) so ansprechen kann, dass einzig die entsprechenden Zeilen noch in der Tabelle angezeigt werden. Anders gesagt, wie kann ich diejenigen Tabellen-Zeilen ausblenden, die beim Vergleich keinen passenden Inhalt haben?

Dankeschön und liebe Grüsse aus der Schweiz
Lukas
 
Zurück
Oben