获取表格行的第一个td ID,然后映射它

时间:2018-04-02 20:34:42

标签: jquery

我正在尝试创建一个用户单击按钮的功能,该按钮将列出所有“准备好”而非未准备好的计算机名称。 Ready可以定义为表中的最后一列,也可以定义为类“highlight_green”的tr。我需要使用map,因为我需要将计算机名称输出到DB。

<table>
   <th>Counter</th><th>Machine Name</th><th>Status</th>
   <tr class='highlight_green'><td>1</td><td class='mac_name'>Machine_A</td><td>Ready</td>
   <tr class='highlight_red'><td>2</td><td class='mac_name'>Machine_B</td><td>Not Ready</td>
   <tr class='highlight_red'><td>3</td><td class='mac_name'>Machine_C</td><td>Not Ready</td>
   <tr class='highlight_green'><td>4</td><td class='mac_name'>Machine_D</td><td>Ready</td>
</table>

到目前为止,我有这个代码,这是我被困的地方,因为我已经尝试了很多方法,我无法弄清楚如何将其指向正确的td来获取计算机名称。

$('#mark_a4_upgrade').click(function () {

            var texts = $('tr.highlight_green').map(function () {

              alert('The following machines are ready go to: ' + texts.join(', '));
            });
        });

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

试试这个并告诉我

&#13;
&#13;
$('#mark_a4_upgrade').click(function () {
console.log('The following machines are ready go to: ');
            var texts = $('tr.highlight_green td').filter(function() {
                return $(this).index() === 1;
            }).map((i, e) => {
              console.log($(e).text());
            });
        });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
   <th>Counter</th><th>Machine Name</th><th>Status</th></tr>
   <tr class='highlight_green'><td>1</td><td class='mac_name'>Machine_A</td><td>Ready</td></tr>
   <tr class='highlight_red'><td>2</td><td class='mac_name'>Machine_B</td><td>Not Ready</td></tr>
   <tr class='highlight_red'><td>3</td><td class='mac_name'>Machine_C</td><td>Not Ready</td></tr>
   <tr class='highlight_green'><td>4</td><td class='mac_name'>Machine_D</td><td>Ready</td></tr>
</table>

<button id="mark_a4_upgrade"></button>
&#13;
&#13;
&#13;