js不是在IE上工作,而是工作ff和gc

时间:2010-12-30 17:04:33

标签: javascript


我有这行代码:

document.getElementById(object).innerHTML=data;

其中object等于'index'(这是html中div的id),数据是一些文本......在firefox或chrome上没有错误,但是Internet Explorer给了我“未知的运行时错误“!!!我很快就会变得光头......

数据样本:(出于某种原因,如果我删除<table>一切都很好......)

<table style="width:100%;">
                <tr class="tablePagnation">
            <td valign=top colspan="5">
                <input type=hidden id="pagnation" value="1">
                <label class="disabledlink">ÇáÓÇÈÞ</label>              <label class="disabledlink">ÇáÇæáì</label>              <a href="javascript:;" onclick="setPagnation('1');"class="pagnation_selected">1</a>
                <a href="javascript:;" onclick="setPagnation('2');"class="pagnation">2</a>
                <a href="javascript:;" onclick="setPagnation('3');"class="pagnation">3</a>
                <a href="javascript:;" onclick="setPagnation('4');"class="pagnation">4</a>
                <a href="javascript:;" onclick="setPagnation('5');"class="pagnation">5</a>
                                <a href="javascript:;" onclick="setPagnation('64');">ÇáÇÎíÑÉ</a>                <a href="javascript:;" onclick="setPagnation('2');">ÇáÊÇáí</a>          </td>
        </tr>
                <tr class="Heading3">
            <td valign=top style="width:40px;">
                <input type=checkbox onclick="toggleCheckboxes('msgbox',this.checked);">
                <a href="javascript:;" onclick="refresh_inbox();"><img src="images/refresh.png" title="ÊÍÏíË"></a>
            </td>
            <td valign=top>
                ãä
            </td>
            <td valign=top>
                ÇáÚäæÇä
            </td>
            <td valign=top>
                ÇáÊÇÑíÎ
            </td>
            <td valign=top>
                ÇáÚãáíÇÊ
            </td>
        </tr>
                    <tr class="GridRow UserRecordRow">
                <td valign=top>
                    <input type=checkbox id="msgbox" value="26" name="msgbox">
                                                                        <img src="images/msg_read.png">
                                                            </td>
                <td valign=top>
                                            <a href="index.php?pg=inbox&do=read&id=26">ÑÇãí</a>
                                    </td>
                <td valign=top>
                                        te45tef
                </td>
                <td valign=top>
                    10-01-2011 01:21 PM
                </td>
                <td valign=top>
                    <a href="javascript:;" onclick="delete_msg(26);">
                        <img src="images/delete.png" title="ÍÐÝ">
                    </a>
                </td>
            </tr>
                    <tr class="GridRow UserRecordRow">
                <td valign=top>
                    <input type=checkbox id="msgbox" value="25" name="msgbox">
                                                                        <img src="images/msg_unread.png">
                                                            </td>
                <td valign=top>
                                            <a href="index.php?pg=inbox&do=read&id=25">ÑÇãí</a>
                                    </td>
                <td valign=top>
                                        5tfe54tfe
                </td>
                <td valign=top>
                    10-01-2011 01:20 PM
                </td>
                <td valign=top>
                    <a href="javascript:;" onclick="delete_msg(25);">
                        <img src="images/delete.png" title="ÍÐÝ">
                    </a>
                </td>
            </tr>
            </table>

4 个答案:

答案 0 :(得分:2)

几周前我遇到了类似的问题。将格式错误的HTML插入文档时,会出现“未知的运行时错误”。 IE is not as forgiving, apparently

有时,如果您尝试在内联元素中插入块级元素,也会出现此错误(例如,div内部p会导致此错误)。您可以通过更改父元素来解决此问题。您能否告诉我们您尝试插入data的哪种元素?

这是一个blog post,它讨论了错误,以及stackoverflow question处理通过Javascript操作表的上下文中的错误。

<强>更新

在这种情况下,我猜你必须通过修剪范围来弄清楚违规元素是什么。尝试插入最简单的HTML(也许你的表只有一行和单元格)。然后逐渐添加更多元素,直到出现错误。这样,您就能够识别导致错误的元素。

答案 1 :(得分:0)

也许object是IE中的保留关键字?尝试使用其他变量名称。

答案 2 :(得分:0)

您是否确信这是“未知运行时错误”的来源?你能把代码隔离开来吗?尝试用引用的“索引”字符串替换对象,只需要该行(以及为数据定义的内容)。

示例代码:

document.getElementById('index').innerHTML = 'Test';

答案 3 :(得分:-2)

虽然这些都很好,但我建议使用JQuery库来访问dom元素。