gpt4 book ai didi

javascript - IE 中神秘的运行时错误

转载 作者:行者123 更新时间:2023-11-30 10:51:51 25 4
gpt4 key购买 nike

IE 版本:8.0.6001.18702

<tr id="week-days"></tr>

function displayWeekDay( lang )
{
var txt = '<td>num</td>';
for ( i = 0; i < langs[lang].day.length; i++ )
if ( i == 5 ) txt += '<td class="red"><b>' + langs[lang].day[i] + '</b></td>';
else if ( i == 6 ) txt += '<td class="red"><b>' + langs[lang].day[i] + '</b></td>';
else txt += '<td><b>' + langs[lang].day[i] + '</b></td>';
document.getElementById("week-days").innerHTML = txt;
}

错误在最后一行 - document.getElementById("week-days").innerHTML = txt;

我有点困惑 - 出现错误,但一切都正常显示。在 Mozilla、Chrome、Safari 上没有错误。任何想法都会受到赞赏。

编辑 enter image description here

最佳答案

来自 MSDN:“表和 tr 对象的 innerText 和 innerHTML 属性是只读的”http://msdn.microsoft.com/en-us/library/ms532998(v=vs.85).aspx

解决方案是用 dom 创建一个 tr 元素,或者使用 html 构建一个完整的临时表,然后将行移动到目标表。像下面这样:

/** Appends a row to the given tbody */
function appendRow(tbody, trHTML) {
var tempNode = document.createElement('div');
tempNode.innerHTML = "<table><tr>" + trHTML + "</tr></table>";
var tempTable = tempNode.firstChild;
tbody.appendChild(tempTable.rows[0] );
}

您可以修改该函数以指定要插入的位置,或者要在之前或之后插入的另一个 tr。

参见 Can't set innerHTML on tbody in IE

关于javascript - IE 中神秘的运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4866562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com