2016-07-21 10 views
1

ich die folgende Tabelle haben:JQuery Parsing HTML Tabelle

<table id="tableData" name="tableData"> 
    <tr> 
     <td class="tdvalue"><a class="XXX">10</a></td> 
     <td class="tdvalue"><a class="YYY">4</a></td> 
     <td class="tdvalue"><a class="XXX">7</a></td> 
    </tr> 
</table> 

ich den td Wert erhalten müssen, die

Der folgende Code funktioniert nicht

in einem Array Hyperlink mit Klassenname hat
var rows = []; 
$("#tableData tr").each(function() { 
    $tr = $(this); 
    var row = []; 
    $tr.find(".tdvalue").each(function(){ 
     row.push($(this).text()); 
    }); 
}); 

Dies gibt den Wert des Textes mit in der td. aber ich brauche, um Klassennamen XXX <a class="XXX">10</a>

Ergebnis wäre:

Array[3] 0:"XXX" 1:"YYY" 2:"XXX" 

helfen Bitte jemand

+0

.attr ('Klasse') anstelle von .text() – YOU

+0

die href zu bekommen, es ist ziemlich einfach in der jede Funktion tun $ (this) .find ("a"). Attr ("class") –

+0

denkt, vergaß .attr ('Klasse') –

Antwort

1

Ziel die eine direkt:

var row = []; 

$(".tdvalue a").each(function() { 
     row.push($(this).attr('class')); 
    }); 

//gives row= ["XXX","YYY","XXX"] 

var row = []; 
 
    
 
$(".tdvalue a").each(function() { 
 
     row.push($(this).attr('class')); 
 
    }); 
 

 
console.log(row)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="tableData" name="tableData"> 
 
    <tr> 
 
     <td class="tdvalue"><a class="XXX">10</a></td> 
 
     <td class="tdvalue"><a class="YYY">4</a></td> 
 
     <td class="tdvalue"><a class="XXX">7</a></td> 
 
    </tr> 
 
</table>

0
var rows = []; 
$("#tableData tr").each(function() { 
    $tr = $(this); 
    var row = []; 
    $tr.find(".tdvalue").each(function(){ 
     row.push($(this).children('a').attr('class')); 
    }); 
});