我有一个像下面的HTML一样的aspx文件:
我想得到值37.23961(如上所示)。
如何使用javascript获取此值(使用表' gridview2的iindex 6的td)?
MYHTML:
<table rules="all" id="GridView2" style="width:542px;border-collapse:collapse;" border="1" cellspacing="0">
<tbody>
<tr>
<th scope="col">hname</th>
<th scope="col">haddress</th>
<th scope="col">hphone</th>
<th scope="col">hhours</th>
<th scope="col">hrating</th>
<th scope="col">hlat</th>
<th scope="col">hlong</th>
</tr>
<tr>
<td>Kaiser Permanante</td>
<td>200 Fremont boulevard</td>
<td>5105199000</td>
<td>Mon-Fri : 8:00 AM - 11:00 PM, Sat, Sun: 10:00 AM- 6:00PM</td>
<td>3</td>
<td>37.23961</td>
<td>-121.800278</td>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
答案 1 :(得分:0)
使用此:
document.getElementsByTagName("td")[6]
基本上,您将获得标签名称为“td”的所有元素,并且末尾的括号指定要选择的元素。
希望这会有所帮助;)
答案 2 :(得分:0)
您需要获取标记中第6个元素的HTML内容,这可以通过以下方式完成
document.getElementsByTagName("td")[6].innerHTML
答案 3 :(得分:0)
请为您的TD提供ID,如果您正在生成表格,则可以提供索引ID。
For example :
for(var i=0;i<rows;i++)
{
tableCells = tablesCells + "<td id=td" + i + ">"+data[i] + "</td>";
}
然后,您可以确定所需的索引值,并使用以下方法获取值
var tdElem = document.getElementById ( "td" +id );
var tdText = tdElem.innerHTML;
OR
$("#td"+id).html();
答案 4 :(得分:0)
如果您想使用JavaScript,那么document.querySelectorAll(css selector)是您的选择。获取作为其父级的第六个子级的所有td元素:
var tds = document.querySelectorAll("#GridView2 td:nth-child(6)");
要获取文本,您可能需要循环播放。
for (var i = 0, len = tds.length; i < len; i++) {
alert(tds[i].textContent || tds[i].innerText);
}
答案 5 :(得分:0)
首先访问相应的tr
,然后访问相应的td
。查看下面的代码段:
var tr = document.getElementsByTagName("tr")[1];
var td = tr.getElementsByTagName("td")[5];
var td_text = td.innerHTML; // here is "37.23961"
document.getElementById("fetched").innerHTML = td_text;
#fetched{
font-weight: bold;
}
<table rules="all" id="GridView2" style="width:542px;border-collapse:collapse;" border="1" cellspacing="0">
<tbody>
<tr>
<th scope="col">hname</th>
<th scope="col">haddress</th>
<th scope="col">hphone</th>
<th scope="col">hhours</th>
<th scope="col">hrating</th>
<th scope="col">hlat</th>
<th scope="col">hlong</th>
</tr>
<tr>
<td>Kaiser Permanante</td>
<td>200 Fremont boulevard</td>
<td>5105199000</td>
<td>Mon-Fri : 8:00 AM - 11:00 PM, Sat, Sun: 10:00 AM- 6:00PM</td>
<td>3</td>
<td>37.23961</td>
<td>-121.800278</td>
</tr>
</tbody>
</table>
<label>Fetched TD content: </label><span id="fetched"></span>
答案 6 :(得分:0)
如果你使用jQuery会更容易。但是,由于您具有特定索引并且表结构已修复,因此您可以使用嵌套.getelementsbytagname()
完成工作javaScript:
alert(document.getElementById("GridView2")
.getElementsByTagName("tbody")[0]
.getElementsByTagName("tr")[1]
.getElementsByTagName("td")[5]
.innerHTML);
<强> 的jQuery 强>
如果你更喜欢jQuery,你可以看看,
$("#GridView2 tbody tr:nth-child(2) td:nth-child(6)").html();
答案 7 :(得分:0)
您可以使用
获取值var gridTable = document.getElementById("GridView2");
if(gridTable && gridTable.rows[1].cells[5]){
var result=gridTable.rows[1].cells[5].innerText;
}
如果你想要实际的浮点值而不是字符串,那么你可以解析它。
parseFloat(result);
如果要获取所有行的第6列值,可以参考此codepen:http://codepen.io/bhuvana/pen/OPyjWw
答案 8 :(得分:0)
function myData(){
x = document.getElementById("GridView2").rows.length;
for(i=1;i<x;i++){
var tr = document.getElementsByTagName("tr")[i];
var tdl = tr.getElementsByTagName("td").length;
for(j=0;j<tdl;j++){
var td = tr.getElementsByTagName("td")[j];
alert(td.innerHTML);
}
}
}
<table rules="all" id="GridView2" style="width:542px;border-collapse:collapse;" border="1" cellspacing="0">
<tbody>
<tr>
<th scope="col">hname</th>
<th scope="col">haddress</th>
<th scope="col">hphone</th>
<th scope="col">hhours</th>
<th scope="col">hrating</th>
<th scope="col">hlat</th>
<th scope="col">hlong</th>
</tr>
<tr>
<td>Kaiser Permanante</td>
<td>200 Fremont boulevard</td>
<td>5105199000</td>
<td>Mon-Fri : 8:00 AM - 11:00 PM, Sat, Sun: 10:00 AM- 6:00PM</td>
<td>3</td>
<td>37.23961</td>
<td>-121.800278</td>
</tr>
</tbody>
</table>
<button onclick="myData()">click</button>