嗨,我有一个应用程序,它被抑制与兼容模式IE-5。在该应用程序中,他们使用javascript中的.all API从DOM中获取特定元素,该元素运行良好。但在Windows10Machine中,当我在IE-11浏览器中使用相同的应用程序时,它不支持.all。因此,请告诉我javascript或jquery中.all的替代选项。
例子:1
JSP:
<Table id="testtable">
<tr> </tr>
<tr> </tr>
<tr id="testrow">
<td> <FONT size=1 face="Verdana, Arial">
<INPUT class=list maxLength=12 size=3 name=prime1>
</FONT> Test Data1
</td>
<td> <FONT size=1 face="Verdana, Arial">
<INPUT class=list maxLength=12 size=3 name=prime2>
</FONT> Test Data2
</td>
<td> <FONT size=1 face="Verdana, Arial">
<INPUT class=list maxLength=12 size=3 name=prime3>
</FONT> Test Data3
</td>
<td> <FONT size=1 face="Verdana, Arial">
<INPUT class=list maxLength=12 size=3 name=prime4>
</FONT> Test Data4
</td>
<td> <FONT size=1 face="Verdana, Arial">
<INPUT class=list maxLength=12 size=3 name=prime5>
</FONT> Test Data5
</td>
<td> <FONT size=1 face="Verdana, Arial">
<INPUT class=list maxLength=12 size=3 name=prime6>
</FONT> Test Data6
</td>
</tr>
</Table>
Js:
function tablesample (tableId,rowId)
{
var tab = document.getElementById(tableId);
var row = tab.rows(rowId);
var tdc ;
var count ;
var colcount = row.cells.length;
for(var i=2;i<colcount;i++)
{
tdc = row.cells[i];
count = tdc.all.length;
}
}}
当上面的js方法在到达tdc.all.length行时被触发时,我遇到了一个问题:“无法获得未定义或空的属性”长度“。它应该给长度为2,但它没有。请帮助我解决这个问题。
发布于 2017-08-22 17:45:04
使用.children --所有浏览器都支持它,而.all专用于IE的旧版本。
MSDN说,它不支持从Internet 11开始。
由于不受支持,tdc.all返回undefined。然后是undefined.length,这会给出错误Unable to get property "length" of undefined or null。
发布于 2017-08-22 18:16:30
试试这个:
var tab = document.getElementById('testtable');
var row = tab.getElementsByTagName('tr')
var number_of_children = row.testrow.children.length;https://stackoverflow.com/questions/45823827
复制相似问题