Ich habe eine Tabelle mit einer "Kopfzeile", die Benutzer regelmäßige tr-Tags (nicht th). Ich brauche, um Kopfzeile "Col2" zu finden und dann zu jeder Zelle unter Col2 einen Anker hinzufügen. Ich kann tun $("td:contains('Col2'))
um die Kopfzeile zu finden, aber die Datenzeilen könnten auch "Col2" enthalten. Wie würde ich nur die erste Zeile suchen und dann eine Schleife durch die Zeilenzellen ziehen?
<table>
<tr>
<td>Col1</td>
<td>Col2</td>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
</tr>
<tr>
<td>Data3</td>
<td>Data4</td>
</tr>
</table>
Wird:
<table>
<tr>
<td>Col1</td>
<td>Col2</td>
</tr>
<tr>
<td>Data1</td>
<td><a href="?Data2">Data2</a></td>
</tr>
<tr>
<td>Data3</td>
<td><a href="?Data4">Data4</a></td>
</tr>
</table>
Editar: Ich habe sogar mehr als eine Tabelle auf derselben Seite. :first
passt nur auf die erste Zeile der ersten Tabelle.
更新しました。 Hier ist, wie ich es schließlich zum Laufen gebracht habe. Vielen Dank an alle für Ihre Hilfe! Mit ein wenig von jedem von Ihnen und ein wenig von der API-Dokumente es funktioniert. Jetzt, wo ich anfange, den Dreh raus zu haben, kann ich mir den Schmerz nicht vorstellen, dies ohne jQuery zu tun.
$('table').each(function(i, table) {
$(table).find('tr:first > td:contains("Col2")').each(function() {
var cellIndex = $(this).index() + 1;
$(table).find('tr:not(:first) > td:nth-child(' + cellIndex + ')').wrapInner(function() {
return $('<a />', { 'href': '?data=' + $(this).text() });
});
});
});