Problèmes d’extraction de parties à partir de tableaux HTML rendus avec jQuery

Je dois récupérer certaines parties de nombreuses tables, les sauvegarder et enfin générer une nouvelle table à l’aide d’un modèle jQuery. Mais j’ai des problèmes pour recueillir la première valeur.

HTML

 MORE SIMILAR TRs HERE 
atext1 atext2 - stuff 2 - 12 - 4 - stuff 5
th1th2th3th4th5th6th7
 text texttext24 (9)82711

JS

 var savedData = []; tbl = $('#table_1'); // Grab all content within div, which is a whole html table var data = []; $('tr', tbl).each(function(i, tr) { // Begin the process to grab needed parts if (i == 0) { // first row is special. it is colspan'ed row = $('td', tr).html().split(' - '); // Splitting seems like the only way to get smaller html parts to work with var a_href = $(row).find('a').attr('href'); // returns undefined var a_href = $(row[0]).find('a').attr('href'); // returns undefined var a_href = $('a', row).attr('href'); // returns undefined var a_href = $('a', row[0]).attr('href'); // returns undefined // Grab id only. I thought this would work data['id'] = $('a', row[0]).attr('href').match(/view=page&id=([0-9]+)/)[1]; // Grab the other parts } else { // do stuff for other rows } }); savedData.push[data]; 

1) Pourquoi suis-je indéfini? ‘row’ devient un tableau lors de la scission du HTML interne

2) J’ai aussi au moins 1 tr avec seulement les cellules. Est-ce que cela accélérerait les lignes exclues du .each (), comme avec un sous-sélecteur, ou simplement l’ignorer (comme if ($('td', tr).length > 0) { // do stuff } )?

3) Si je récupère tout le texte () de tous les td dans tous les tr, utiliser jQuery.map () est environ 3 à 4 fois plus rapide que jQuery.each (i, v). Une idée pourquoi?
Je peux utiliser $('td[colspan], tr) pour saisir la première ligne, mais jQuery.each () est facile à comprendre et donc à travailler avec

4) Lorsque je dois utiliser les pièces collectées dans le modèle, puis-je utiliser savedData[0].id ?

J’ai eu ma réponse ici Comment extraire plusieurs parties d’une chaîne HTML avec jQuery?