Ich habe die folgende HTML-Struktur einen Kalender darzustellen:D3/CSS Dom nach oben Traversal/Auswahl
<table>
<thead>...</thead>
<tbody>
<tr>...</tr>
<tr>
<td day="4">...</td>
<td day="5">...</td>
<td day="6" class="is-startrange">...</td>
<td day="7">...</td>
<td day="8">...</td>
</tr>
<tr>
<td day="9">...</td>
<td day="10">...</td>
<td day="11">...</td>
<td day="12">
<button class="day" type="button">12</button>
</td>
<td day="13">...</td>
</tr>
</tbody>
</table>
Meine Frage ist: vom Button unter Tag ab dem 12., wie kann ich nach oben durchqueren, wählen Sie alle Schaltflächenelemente, bis eine Klasse angetroffen wird? Jede Tabellenzelle ist eine Schaltfläche, die ein Datum darstellt, und Listenelemente wurden allen Schaltflächenelementen hinzugefügt. Wenn auf ein Datum geklickt wird, erhalte ich das ausgewählte Datum als Startpunkt.
Ich möchte alle Schaltflächenelemente zwischen dem Startdatum und dem ausgewählten Datum Stil hinzufügen (entweder Klasse hinzufügen oder durch reines CSS).
Gibt es eine Möglichkeit dies in D3-Auswahl oder reinem CSS zu erreichen?
Would mit 'div' der anstelle einer Tabelle in Ordnung sein? – LGSon
die Struktur wird von einer Bibliothek (Pikaday.js) zurückgegeben, so kann ich es nicht ändern – Sean
Nur ein Seitenkommentar, nicht zu Ihrer Frage verwandt: Wenn Sie sagen "Traversing Up", Menschen Dinge über die Elternknoten im DOM gehen Baum. Dein Fall ist nicht gerade "nach oben", weil der td "ist-Startrange" in einem tr ist, der ein Geschwister ist (bezüglich des tr des Knopfes). –