【问题标题】:Return an array from jquery selector each function从 jquery 选择器每个函数返回一个数组
【发布时间】:2021-11-21 23:16:28
【问题描述】:

我有一个表,我在其中获取所有行的第 1 td 和第 9 tds 列的值

$("table tr").each(function() {
  return ($(this).find("td").eq(0).text() + " " + $(this).find("td").eq(8).text())
}).join("#")

我需要得到数组形式的结果

作为

["apple 20", "banana 30", "pears 30"].join("#")

预期的结果是

apple 20#banana 30#pears 30

如何修改我的迭代以返回一个数组。然后我可以加入我需要的任何角色。

【问题讨论】:

    标签: html jquery arrays


    【解决方案1】:

    你可以这样做:

    var result = $("table tr").map(function() {
      return ($(this).find("td").eq(0).text() + " " + $(this).find("td").eq(1).text())
    }).get().join("#").
    

    .each 不会返回你想要的重定向结果,它会返回你表中的所有tr

    演示

    var n = $("table tr").each(function() {
      return ($(this).find("td").eq(0).text() + " " + $(this).find("td").eq(1).text())
    })
    
    console.log(n)
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <table>
    <tbody>
    <tr>
    <td>1</td>
    <td>2</td>
    </tr>
    <tr>
    <td>3</td>
    <td>4</td>
    </tr>
    <tr>
    <td>5</td>
    <td>6</td>
    </tr>
    <tr>
    <td>7</td>
    <td>8</td>
    </tr>
    </tbody>
    </table>

    【讨论】:

      猜你喜欢
      • 2012-05-30
      • 2016-07-20
      • 2011-06-23
      • 1970-01-01
      • 2011-08-26
      • 2013-11-12
      • 2023-04-08
      • 2014-09-16
      • 2013-05-04
      相关资源
      最近更新 更多