使用javascript访问表数据

时间:2015-03-01 03:02:04

标签: javascript html

我正在尝试访问以下<td>

<table class="datadisplaytable" summary="This table lists the scheduled meeting times and assigned instructors for this class..">
<caption class="captiontext">Scheduled Meeting Times</caption>
<tbody><tr>
<th class="ddheader" scope="col">Time</th>
<th class="ddheader" scope="col">Days</th>
<th class="ddheader" scope="col">Where</th>
<th class="ddheader" scope="col">Date Range</th>
<th class="ddheader" scope="col">Schedule Type</th>
<th class="ddheader" scope="col">Instructors</th>
</tr>
<tr>
<td class="dddefault">8:35 AM - 9:55 AM</td>
<td class="dddefault">TR</td>
<td class="dddefault">Trottier Building 0100</td>
<td class="dddefault">Jan 05, 2015 - Apr 13, 2015</td>
<td class="dddefault">Lecture</td>
<td class="dddefault">Harry Leib </td>
</tr>
</tbody></table>

我在一个名为var data_tables的HTML集合中有一堆这些表,我可以使用data_tables[0].childNodes[0].innerText成功访问标题(即集合中的第一个表)。但是,当我尝试使用<td>访问data_tables[0].childNodes[1].childNodes[1].childNodes[0].innerText时(例如文字“上午8:35 - 上午9:55”),我使用Chrome时会“未定义”。我错过了什么? <td>不是三层节点,而是<table>

1 个答案:

答案 0 :(得分:1)

您可能正在获取文本节点而不是td元素。

不要将.childNodes与表格一起使用。而是使用.tBodies.rows.cells集合。

data_tables[0].tBodies[0].rows[1].cells[0].innerText

此外,我使用.textContent代替.innerText,以便您使用标准媒体资源。