Ich habe eine Seite mit mehreren Zeilen mit Informationen, die von mehreren Benutzern erstellt wurden. Ich suche nach einer Möglichkeit, alle Benutzerzeilen bei Mouseover hervorzuheben.Markieren Sie mehrere Zeilen in mehreren Tabellen
Diese "Highlight multiple items on hover's condition" löste fast mein Problem, aber da die Klassen oder IDs in meinem Problem dynamisch aus einer Datenbank sind, würde sie einen Bezeichner aus der Datenbank enthalten und sind jedes Mal einzigartig. Ich konnte es nicht anwenden.
Beispielcode: https://jsfiddle.net/3cehoh78/
<table class="testtable">
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 1a</td>
<td class="cellclass">Sam</td>
<td class="cellclass">data</td>
</tr>
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 2a</td>
<td class="cellclass">Frodo</td>
<td class="cellclass">data</td>
</tr>
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 3a</td>
<td class="cellclass">Sam</td>
<td class="cellclass">data</td>
</tr>
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 4a</td>
<td class="cellclass">Legoman</td>
<td class="cellclass">data</td>
</tr>
</table>
<br>
<br>
<table class="testtable">
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 1b</td>
<td class="cellclass">Sauron</td>
<td class="cellclass">data</td>
</tr>
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 2b</td>
<td class="cellclass">Sam</td>
<td class="cellclass">data</td>
</tr>
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 3b</td>
<td class="cellclass">Sam</td>
<td class="cellclass">data</td>
</tr>
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 4b</td>
<td class="cellclass">Legoman</td>
<td class="cellclass">data</td>
</tr>
<tr id="uniqueIDthatcantbechanged">
<td class="cellclass">Line 5b</td>
<td class="cellclass">Frodo</td>
<td class="cellclass">data</td>
</tr>
</table>
In diesem Beispiel möchte ich alle Zeilen mit "Sam" markiert mit der Maus darüber auf einem von ihnen werden, also Reihen 1a, 3a, 2b, 3b. Ich dachte über das Hinzufügen einer Klasse zu allen Sam-Zeilen beim Erstellen der Tabellen (Sam hat eine eindeutige Benutzer-ID), aber wie ändere ich dann CSS, die alle Zeilen bei mouseover (und nicht nur eine) betrifft. Bitte beachten Sie, dass ich keine CSS-Klassen für alle eindeutigen Benutzer-IDs hinzufügen kann, dies ist nur ein Beispiel.
Ich nehme an, der Benutzer-ID für den Benutzer bekannt ist (das heißt, die Seite an den Benutzer geliefert). Ich nehme an, dass die Seite (d. H. JavaScript) die Zeilen verfolgen kann, die der Benutzer hinzugefügt/hinzugefügt hat. Es sollte dann möglich sein, entweder die * Benutzer-ID * als eine Klasse für alle * Zeilen zu verwenden, die der Benutzer hinzugefügt hat, oder einfach eine generische Klasse hinzuzufügen (die den Besitz angibt). – domsson
Ist die Verwendung von jQuery zulässig? –
Einfachste Sache ist, verwenden Sie sie als Datenattribut .... hatte was auch immer ausgespuckt wird ein Daten-Name = "Foo" und dann können Sie einfach die Elemente auswählen. Es scheint komisch, dass Sie den Code nicht ändern können, der die Tabelle ausspuckt, um sie etwas zu verändern. Ohne diese Option müssen Sie entweder einen teuren contains() - Selektor oder eine Schleife über die Tabelle beim Laden der Seite ausführen und das Attribut – epascarello