我有一个可以在IE7中运行的Javascript函数,但在Firefox中给我带来了麻烦。
JAVASCRIPT
function vehicleSelected() {
var ddlSelect = document.getElementById('ddlSelect');
var displayTable = document.getElementsByName('listTable')[0];
var strAuto = ddlSelect.options[ddlSelect.selectedIndex].value;
alert("ok, so far");
var rows = displayTable.getElementsByTagName("tr");
alert("this alert is not triggered");
var rowData = document.getElementById(strData);
for (var i = 0; i < rows.length; i++) {
rows[i].style.display = 'none';
}
rowData.style.display = '';
}
我不确定其余的代码是如何处理的。有没有通用的方法来切换表格行的显示,还是我需要一个单独的Firefox?
修改
<table id="listTable">
答案 0 :(得分:1)
你的帖子遗漏了很多细节,但我猜你的HTML看起来像这样
<table id='listTable' name='listTable'>
name
显然不是table
的有效属性(不提及here且视觉工作室intellisense同意),因此firefox会忽略该属性,并且找不到任何名为{{ 1}}。在firefox执行中未定义listTable
。
displayTable
属性的值为id
,并认为该值足以符合'listTable'
的条件。 IE实际上并没有考虑你给你的桌子的getElementsByName
属性 - 它只是运气好。删除name
属性也会导致您的方法在IE中失败。