3
Ich muss das Wort Emails
auf einen Klick auf alle Kontrollkästchen drucken. Wie kann ich das machen? Hier ist meine HTML-Struktur:Wie kann ich den Wert des letzten th bekommen?
$('td input').on('change', function() {
var header_name = $(this).closests('tr').sibilings('th').last().text();
console.log(header_name);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<th><input type="checkbox" class="all_checkboxes"></th>
<th>Emails</th>
</tr>
<tr>
<td><input type="checkbox" data-id="email"></td>
<td>email</td>
</tr>
<tr>
<td><input type="checkbox" data-id="gmail"></td>
<td>gmail</td>
</tr>
<tr>
<td><input type="checkbox" data-id="aol"></td>
<td>aol</td>
</tr>
<tr>
<td><input type="checkbox" data-id="chmail"></td>
<td>chmail</td>
</tr>
</tbody>
</table>
A '
Antwort
Erstens haben Sie ein paar Tippfehler.
closests()
sollteclosest()
sein undsibilings()
musssiblings()
sein.Das Problem selbst ist, weil Ihr DOM-Traversal nicht korrekt ist. Sie versuchen, Geschwister
th
der Elterntr
auf die geklickteinput
zu betrachten, wenn dieth
, die Sie anstreben, in einer ganz anderen Reihe ist.dies beheben Sie
closest()
bekommen dietable
, dannfind()
dietr:last
, wie diese verwendet werden soll:Quelle
2017-10-10 10:48:08
Schön, danke. –
Sie interessieren sich nicht für den Ruf, den Sie verdienen, oder? Du hast 40 Wiederholungen in 10 Minuten verdient. Wie fühlt es sich an? –
Sie sollten die Downvotes sehen, die ich bekomme :) –
Quelle
2017-10-10 11:06:42
Versuchen Sie diesen Code .. –
Vielen Dank, upvote –
Verwandte Themen