Wie kann ich das übergeordnete tr eines td mit jQuery finden?

Lesezeit: 2 Minuten

Ich habe folgendes:

    tdToPad = tds.filter('[id^="input_Title_"]')
    pad = 60;
    tdToPad.css('margin-left', pad);

Was ich tun möchte, ist, jede Klasse zu entfernen, die mit “X-” beginnt, und der Zeile, die in “tdToPad” enthalten ist, eine Klasse von “X-” + Pad zu geben.

Etwas wie:

<tr class="X-60">
   <td>
   </td>
</tr>

Dabei bezieht sich toToPad auf das td-Element in einer Reihe. Wie kann ich dem übergeordneten tr die Klasse “X-” + Pad geben? Ich denke, ich brauche so etwas wie das Folgende, aber wenn das der richtige Weg ist, wie kann ich dann Elemente entfernen, die bereits mit einer Klasse von “X-” irgendein Wert vorhanden sind, und diesem Element dann die richtige Klasse zuweisen?

tdToPad.Parent('tr')

Benutzer-Avatar
RAM

Sie können verwenden closest() Methode:

Rufen Sie das erste Element ab, das mit dem Selektor übereinstimmt, beginnend mit dem aktuellen Element und nach oben durch die DOM-Struktur.

tdToPad.closest('tr')
       .addClass('X-' + pad)

aktualisieren:

tdToPad.closest('tr').get(0).className = tdToPad.closest('tr').get(0).className.replace(/\bX\-.*?\b/g, '');
tdToPad.closest('tr').addClass('X-' + pad)

  • Möglicherweise gibt es dort bereits eine Klasse mit “X-” gefolgt von einer Nummer. Gibt es eine Möglichkeit, dies zu entfernen, bevor ich die neue Klasse hinzufüge?

    – Alan2

    21. Juli 2012 um 8:53 Uhr


  • @Gemma ja, Sie können die Klasse entfernen und dann eine andere hinzufügen, versuchen Sie die aktualisierte Antwort.

    – RAM

    21. Juli 2012 um 8:55 Uhr

  • danke, aber wie kann ich nur Klassen entfernen, die “X-” am Anfang ihres Namens haben? In Ihrem Beispiel geben Sie einfach den Klassennamen “Klasse” ein. Was ich habe, ist, dass die Klasse alles sein könnte, was mit “X-” beginnt, und es kann dort bereits eine geben oder nicht. Ich möchte nur durch die neueste ersetzen. Danke

    – Alan2

    21. Juli 2012 um 8:56 Uhr


Du hast fast recht. Verwenden Sie einfach die richtige Schreibweise für parent() (Doku) und füge a hinzu addClass() (Doku) rufen Sie dazu auf.

tdToPad.parent('tr').addClass( 'X-' + pad );

  • Ist es besser, Eltern oder Nächstes zu verwenden? Kann ich dort bereits vorhandene Klassen entfernen, die mit X- beginnen?

    – Alan2

    21. Juli 2012 um 8:55 Uhr


1175720cookie-checkWie kann ich das übergeordnete tr eines td mit jQuery finden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy