我正在尝试循环遍历表列并构建一个字符串。这是我到目前为止所拥有的:$(".ConvertSQL").click(function () { var values $(".TableQuery tr").each(function () { $('td', this).each(function () { values = value + ',' + value; alert(values) }) }) });收到错误:我的警报显示一条消息“未定义”,并根据单元格中存在数据的次数不断重复此消息我对此还很陌生,所以不完全了解发生了什么。目前的设置不会循环遍历一列,我认为它会遍历表中的每个单元格,因此也需要更改它
1 回答
MM们
TA贡献1886条经验 获得超2个赞
您逻辑中的问题是因为尽管您定义了value您从未实际将其设置为保存任何内容的值,因此它仍然存在undefined。
从代码的上下文来看,您似乎正在尝试从元素中获取文本内容td,因此您可以使用该text()方法来:nth-child()获取td所需列的 。
另请注意,为了使这变得更加容易,您可以使用map()构建值数组,然后将其join()形成单个字符串。尝试这个:
$(".ConvertSQL").click(function() {
var str = $(".TableQuery td:nth-child(1)").map((i, e) => $(e).text()).get().join(' ');
console.log(str);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="TableQuery">
<tbody>
<tr>
<td>Foo</td>
<td>Bar</td>
</tr>
<tr>
<td>Fizz</td>
<td>Buzz</td>
</tr>
</tbody>
</table>
<button class="ConvertSQL">Click me</button>
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报
0/150
提交
取消