Ich hab dir mal eben etwas zusammen geschustert (ist ohne jquery):
Code:
<script>
window.onload = function () {
let myTable = document.querySelectorAll('.nrInMailto tbody');
for (let myTables = 0; myTables < myTable.length; myTables++) {
//console.log(myTable);
let myTableTrs = myTable[myTables].querySelectorAll('tr');
//console.log(myTableTrs);
for (let trs = 0; trs < myTableTrs.length; trs++) {
let thisTr = myTableTrs[trs];
//console.log(thisTr);
let aNr = thisTr.querySelector('td:first-of-type').innerHTML;
let mailtoLink = thisTr.querySelector('td:last-of-type a');
let mailtoLinkHref = mailtoLink.href;
// console.log(aNr, mailtoLink, mailtoLinkHref);
mailtoLinkHref += 'Subject=' + aNr;
mailtoLink.href = mailtoLinkHref;
}
}
}
</script>
Die console.log Sachen kannst du auch ganz rausschmeißen. Wenn du die auskommentierst siehst du was sich da gerade tut...
Es wird erst mal nach einer Tabelle mit der Klasse 'nrInMailto' gesucht und das kommt dann in myTable. Kannst du natürlich anpassen an der Stelle.
Sucht jetzt alle Tabllen auf einer Seite mt dieser Klasse heraus (dafür ist dann auch die erste for-Schleife).
Dann werden alle tr in dem tbody genommen und in myTableTrs gespeichert.
Das ist dann ein array was in der for-Schleife durchlaufen wird.
Erst mal zusammen Sammeln, der aktuellen Infos und dann wird im letzten Schritt das aktuelle mailto mit dem Subject und der Nr. aus der ersten Zeile ergänzt. Ist also egal was für ein Mailto schon vorhanden ist. Da musst du natürlich aufpassen, was da schon vorhanden ist.
Ist jetzt nicht das schönste Script, aber sollte zumindest klar machen wie das gehen kann
Viele Grüße
PS: Ich hab das mal als codepen gemacht, damit man sich das einfacher anschauen und anpassen kann: https://codepen.io/MacKP/pen/WaZZRv
Lesezeichen