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);