Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取表/td中的数据_Javascript - Fatal编程技术网

Javascript 如何获取表/td中的数据

Javascript 如何获取表/td中的数据,javascript,Javascript,我使用下面的代码获取单元格值 alert(document.getElementById("table-body-positions").rows[0].cells[3].innerHTML); Td值为 <td><a data-action="details"><span><span class="">2019/01/04 13:36:19</span></span></a></td> 2019

我使用下面的代码获取单元格值

alert(document.getElementById("table-body-positions").rows[0].cells[3].innerHTML);
Td值为

<td><a data-action="details"><span><span class="">2019/01/04 13:36:19</span></span></a></td>
2019/01/04 13:36:19
我得到了这个结果

<a data-action="details"><span><span class="">2019/01/04 13:36:19</span></span></a>
2019/01/04 13:36:19
但我只想得到2019/01/04 13:36:19

同样的问题也出现在这里

<td><a data-action="update-limit" data-filter="limit">1.18809 (505.4)<br>$808.64</a></td>
1.18809(505.4)
808.64美元
如果您可以在感兴趣的范围中添加一个唯一的id或类名,则会更容易

使用innerText而不是innerHTML

console.log(document.getElementsByTagName('td')[0]。getElementsByTagName('span')[1]。innerText)

2019/01/04 13:36:19

您可以使用innerText代替InnerHTML


alert(document.getElementById(“表体位置”).rows[0]。cells[1]。innerText)
按标记名查找每个
td
,然后递归检查其内容,直到找到
nodeType
TEXT\u节点

如果您的tds中没有固定的HTML结构,那么这种方法效果最好

不需要ID和类

函数递归搜索(elem){
if(elem.nodeType===Node.TEXT\u Node){
//文本被发现
返回elem.data.replace(“\n”和“).trim();
}
const nodes=elem.childNodes;
返回Object.keys(nodes).map(key=>recursiveSearch(nodes[key])).join(“”);
}
const tds=document.getElementsByTagName('td');
const res=Object.keys(tds.map)(key=>{
const td=tds[键];
返回递归搜索(td);
});
控制台日志(res)

2019/01/04 13:36:19
1.18809(505.4)
808.64美元
仅为了获取innerHTML警报,您的代码似乎过于复杂。这是我的解决办法

HTML


当您想阅读文本时,您正在阅读innerHTML。不幸的是,我不能使用span id而不是span类。我不能操作任何东西,只需从另一个网站调用即可。谢谢您的回答。
<table id = "table-body-positions">
    <tr>
    <td><a data-action="details"><span><span id = "details">2019/01/04 13:36:19</span></span></a></td>
    <td><a data-action="update-limit" data-filter="limit"><span id = "limit">1.18809 (505.4)<br>$808.64</span></a></td>
    </tr>
</table>
let details = document.getElementById("details").innerHTML;
let limit = document.getElementById("limit").innerText;

alert(details);
alert(limit);