![](/img/trans.png)
[英]How to get value from specific cell from a HTML table with JavaScript
[英]Get value of a specific cell in HTML table with pure JavaScript
我有 React 應用程序,它通過 HTTP 請求獲取一些數據。 響應內容包含一個格式化的 HTML 表格,如下所示:
<html>
<head>
<title>Geoserver GetFeatureInfo output</title>
</head>
<style type="text/css">
table.featureInfo, table.featureInfo td, table.featureInfo th {
border:1px solid #ddd;
border-collapse:collapse;
margin:0;
padding:0;
font-size: 90%;
padding:.2em .1em;
}
table.featureInfo th {
padding:.2em .2em;
font-weight:bold;
background:#eee;
}
table.featureInfo td{
background:#fff;
}
table.featureInfo tr.odd td{
background:#eee;
}
table.featureInfo caption{
text-align:left;
font-size:100%;
font-weight:bold;
padding:.2em .2em;
}
</style>
<body>
<table class="featureInfo">
<caption class="featureInfo">v_zgrada_gs</caption>
<tr>
<th>fid</th>
<th >id</th>
<th >parcela_id</th>
<th >kc_broj</th>
<th >ko_id</th>
<th >ko</th>
<th >zk_ulozak</th>
<th >vrsta_id</th>
<th >vrsta_zgrade</th>
<th >izvor</th>
<th >etaziranost</th>
<th >uskladjeno</th>
<th >kbr</th>
<th >opis</th>
<th >broj_katova</th>
<th >povrsina_sluzbena</th>
<th >povrsina</th>
<th >godina_izgradnje</th>
<th >izvor_podataka_id</th>
<th >nedovrseno</th>
</tr>
<tr>
<td>v_zgrada_gs.fid-752e8cc0_16cf6d070ba_-7146</td>
<td>1165</td>
<td>10642</td>
<td>1002/7</td>
<td>3</td>
<td>Novalja</td>
<td>417</td>
<td>2</td>
<td>kuća</td>
<td>DKP</td>
<td>false</td>
<td>false</td>
<td></td>
<td></td>
<td>2.0</td>
<td></td>
<td>110.8</td>
<td></td>
<td>2</td>
<td>false</td>
</tr>
</table>
<br/>
</body>
</html>
我有一個組件,它使用一種方法從響應中提取一個值。 我需要的值在表 ( <td>1165</td>
) 中的第二個<td>
元素中。
該方法如下所示:
getId = (response) => {
/*
Missing code here
*/
return id;
}
我需要將第二個<td>
元素的值存儲到名為“id”的變量的純 JavaScript 代碼。 'response' 變量包含上面顯示的原始 HTML,我需要的 id 總是第二個<td>
元素。
編輯:我需要解析在響應參數中傳遞的文本。 文本包含 HTML 代碼,但不會在頁面上的任何位置呈現。
我不知道我是否理解你的問題,但你可以通過下面的代碼獲得價值。
var id = document.getElementsByTagName('tr')[1].getElementsByTagName('td')[2].innerText
您可以使用正則表達式從 HTML 響應中提取第二個值。
var pattern = /<td>.*?<\/td>.*?<td>(.*?)<\/td>/s; // flag s = dot matches new line
var m = response.match(pattern);
console.log(m[1]); // prints "1165"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.