JavaScript从表中获取td

JavaScript从表中获取td,javascript,html,Javascript,Html,我有一张有桌子的桌子。我想用with tbody的第一个td中的值创建一个数组。我该怎么做 我的html: <table id="myTable"> <thead> <tr> <th>Test1</th> </tr> </thead> <tbody> <tr> <td>Val1</td> <

我有一张有桌子的桌子。我想用with tbody的第一个td中的值创建一个数组。我该怎么做

我的html:

<table id="myTable">
<thead>
    <tr>
        <th>Test1</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>Val1</td>
        <td></td>
        <td></td>
    </tr>
</tbody>
<tbody>
    <tr>
        <td>Val2</td>
        <td></td>
        <td></td>
    </tr>
</tbody>
<tbody>
    <tr>
        <td>Val3</td>
        <td></td>
        <td></td>
    </tr>
</tbody>
<tbody>
    <tr>
        <td>Val4</td>
        <td></td>
        <td></td>
    </tr>
</tbody>

测试1
瓦尔1
瓦尔2
Val3
瓦尔4

我的数组应该有以下值:Val1、Val2、Val3、Val4

var x = $("#myTable > tbody > tr > td:first-child").map(function(){
  return this.textContent;
}).get().join();
console.log(x); //Val1, Val2, Val3, Val4
通过使用
Array.prototype.map()
以及
querySelectorAll()
,实现纯javascript版本

试试这个:

var body=document.getElementById(“myTable”).tBodies;
var项目=[];
对于(变量i=0;i

测试1
瓦尔1
瓦尔2
Val3
瓦尔4

有一个名为
getElementsByTagName(标记名)
的函数,它返回一个元素数组

像这样的方法应该会奏效:

var array = []; //your array
var rows = document.getElementById("myTable").getElementsByTagName("tr");

for(var i = 0; i < rows.length; i++) {
    array[i] = rows[i].getElementsByTagName("td")[0].innerHTML;
}
var数组=[]//你的阵列
var rows=document.getElementById(“myTable”).getElementsByTagName(“tr”);
对于(变量i=0;i
您可以使用jQuery执行此操作:

var myArray=[];
$(“#myTable tbody tr td:n个子项(1)”。每个(函数(){
myArray.push($(this.text());

});只需使用本机javascript
[Element].getElementsByTagName([TagName])[index]
方法

// Get the array of <tbody> elements in the document.
tbodies = document.getElementsByTagName("tbody");
values = [];

// Loop through the array of <tbody> elements.
for(var index = 0; index < tbodies.length; index++) {
    // Add the value of the <td> element to the array of values.
    values += tbodies[index].firstChild.firstChild.nodeValue;
}
//获取文档中的元素数组。
tbodies=document.getElementsByTagName(“tbody”);
值=[];
//循环遍历元素数组。
对于(var index=0;index
values+=tbodies[index].firstChild.firstChild.nodeValue
获取每个
元素并找到它的
firstChild
元素),找到
元素的
firstChild
元素),然后找到它包含的文本(
.nodeValue>)


数组的结果值为
[“Val1”、“Val2”、“Val3”、“Val4”]

您为解决问题而编写的javascript在哪里?@LuanSoares解决了这个问题!
// Get the array of <tbody> elements in the document.
tbodies = document.getElementsByTagName("tbody");
values = [];

// Loop through the array of <tbody> elements.
for(var index = 0; index < tbodies.length; index++) {
    // Add the value of the <td> element to the array of values.
    values += tbodies[index].firstChild.firstChild.nodeValue;
}