我对 HTML DOM 有点困惑。我正在尝试获取特定的行,<table>
以便我可以通过它们进行交互。
HTML 标记:
<table style="width:70%" id="PersonalInfoExtendedModel_Table" >
<tr>
<td><span id="PersonalInfoExtendedModel_FirstName">@Html.DisplayFor(m => m.FirstName)</span></td>
<td><span id="PersonalInfoExtendedModel_JobLocation">@Html.DisplayFor(m => m.JobLocation)</span></td>
</tr>
<tr>
<td><span id="PersonalInfoExtendedModel_MiddleName">@Html.DisplayFor(m => m.MiddleName)</span></td>
<td><span id="PersonalInfoExtendedModel_StateOfResidence">@Html.DisplayFor(m => m.StateOfResidence)</span></td>
</tr>
<tr>
<td><span id="PersonalInfoExtendedModel_LastName">@Html.DisplayFor(m => m.LastName)</span></td>
<td><span id="PersonalInfoExtendedModel_SSN">@Html.DisplayFor(m => m.SSN)</span></td>
</tr>
<tr>
<td><span id="PersonalInfoExtendedModel_Suffix">@Html.DisplayFor(m => m.Suffix)</span></td>
<td><span id="PersonalInfoExtendedModel_USDriversLicenseNumber">@Html.DisplayFor(m => m.USDriversLicenseNumber)</span> <span id="PersonalInfoExtendedModel_USDriversLicenseState">@Html.DisplayFor(m => m.USDriversLicenseState)</span></td>
</tr>
<tr>
<td><span id="PersonalInfoExtendedModel_DOB_Date">@Html.DisplayFor(m => m.DOB_Date)</span> <span id="PersonalInfoExtendedModel_DOB_Month">@Html.DisplayFor(m => m.DOB_Month)</span> <span id="PersonalInfoExtendedModel_DOB_Year">@Html.DisplayFor(m => m.DOB_Year)</span></td>
<td></td>
</tr>
</table>
我在 JS 和 Jquery 中所做的:
var rows = document.getElementById(model + "_Table").childNodes;
上面这行给了我一些奇怪的 childNodes。我的 rows[] 有一个“文本”孩子和一个<table>
孩子!!所以我也尝试了:
var rows = document.getElementById(model + "_Table").childNodes[1].childNodes;
在调试时,第二行给出了在 Google Chrome 中看到的以下 childNode: 0:HTMLTableRowElement 1:Text 2:HTMLTableRowElement 3:Text 4:HTMLTableRowElement 5:Text 6:HTMLTableRowElement 7:Text 8:HTMLTableRowElement 9:Text
为什么第二行没有得到只是行?为什么第一行本身不获取所有行?