循环遍历表中的数据列以构建字符串

我正在尝试循环遍历表列并构建一个字符串。


这是我到目前为止所拥有的:


$(".ConvertSQL").click(function () {


        var values


        $(".TableQuery tr").each(function () {


            $('td', this).each(function () {

                values = value + ',' + value;


                alert(values)

            })


        })


    });

收到错误:


我的警报显示一条消息“未定义”,并根据单元格中存在数据的次数不断重复此消息


我对此还很陌生,所以不完全了解发生了什么。


目前的设置不会循环遍历一列,我认为它会遍历表中的每个单元格,因此也需要更改它


Helenr
浏览 81回答 1
1回答

MM们

您逻辑中的问题是因为尽管您定义了value您从未实际将其设置为保存任何内容的值,因此它仍然存在undefined。从代码的上下文来看,您似乎正在尝试从元素中获取文本内容td,因此您可以使用该text()方法来:nth-child()获取td所需列的 。另请注意,为了使这变得更加容易,您可以使用map()构建值数组,然后将其join()形成单个字符串。尝试这个:$(".ConvertSQL").click(function() {&nbsp; var str = $(".TableQuery td:nth-child(1)").map((i, e) => $(e).text()).get().join(' ');&nbsp; console.log(str);});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><table class="TableQuery">&nbsp; <tbody>&nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; <td>Foo</td>&nbsp; &nbsp; &nbsp; <td>Bar</td>&nbsp; &nbsp; </tr>&nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; <td>Fizz</td>&nbsp; &nbsp; &nbsp; <td>Buzz</td>&nbsp; &nbsp; </tr>&nbsp; </tbody></table><button class="ConvertSQL">Click me</button>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5