Jquery解析HTML表

时间:2016-07-21 09:33:31

标签: javascript html html-table

我有下表:

<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>

我需要获取td值,该值在数组中具有带类名的超链接

以下代码无效

var rows = [];
$("#tableData tr").each(function() {
    $tr = $(this);
    var row = [];
    $tr.find(".tdvalue").each(function(){
        row.push($(this).text());
    });
});

这给出了td中文本的值。 但我需要上课名称为<a class="XXX">10</a>

结果将是:

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

请帮助任何人

2 个答案:

答案 0 :(得分:1)

直接定位a:

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>

答案 1 :(得分:0)

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