IE8 JavaScript 调试器:DOM 树到底在哪里?

发布于 2024-11-24 23:58:32 字数 847 浏览 1 评论 0原文

我正在使用 IE8 调试器修复一个在 FF 3.16 和 Chrome 12.0 中运行良好的脚本,但不适用于 IE 8.0 或 Safari 5.0 中的 beans。脚本中给我带来麻烦的地方是:

在此处输入图像描述

我需要找到 的数量table id="main_tbody" 中的,其 children[0] 是第一行数据。 FF 和 Chrome 都非常明白这一点; IE 8 和 Safari 5 没有。

我想查看 IE 8 调试器中的 DOM 树,看看发生了什么。但我找不到叮咚的 DOM,该死!

那么:IE 8 调试器中的 DOM 在哪里?

或者<咳咳!>:我的 JS 代码出了什么问题?

谢谢!

编辑:我应该说表格是这样设置的:

<table id ="main">
 <tbody id="main_tbody">

以及对table id ="main"tbody id="main_tbody"的引用code> 是这样初始化的:

  main                 = getRefToDiv( 'main' );             
  main_tbody           = getRefToDiv( 'main_tbody' );

I'm using the IE8 debugger to fix a script that works great in FF 3.16 and Chrome 12.0, but doesn't work for beans in IE 8.0 or Safari 5.0. The spot in the script that's giving me trouble is here:

enter image description here

I need to find the number of <td>s in the the table id="main_tbody" whose children[0] is the first row of data. Both FF and Chrome understand this perfectly; IE 8 and Safari 5 do not.

I want to look at the DOM tree in the IE 8 debugger to see what's going on. But I can't find the ding-dong DOM, dang it!

So: where is the DOM in the IE 8 debugger?

Alternatively <ahem!>: what's wrong with my JS code?

Thanks!

EDIT: I should have said that the table is set up like this:

<table id ="main">
 <tbody id="main_tbody">

And references to table id ="main" and tbody id="main_tbody" are initialized this way:

  main                 = getRefToDiv( 'main' );             
  main_tbody           = getRefToDiv( 'main_tbody' );

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

杀手六號 2024-12-01 23:58:32

之后调用position_col_heads()函数
我怀疑该函数是在 head 标签内声明的,或者是在浏览器呈现正文内容之前调用的。

试试这个吧。

    ...
    ...
    </body>
    <script type='text/javascript'>
     position_col_heads();//Set breakpoint here and see if its accessible.
    </script>
</html>

另外,请查看您在监视表达式中对 main.children[0] 和 main_tbody.innerHTML 获得的响应。

Call the position_col_heads() function after your </body>
My suspicion is that this function is declared inside the head tag or being called before the browser renders the body content.

Just try this.

    ...
    ...
    </body>
    <script type='text/javascript'>
     position_col_heads();//Set breakpoint here and see if its accessible.
    </script>
</html>

Also, see what response you get for main.children[0] and main_tbody.innerHTML in your watch expression.

杀お生予夺 2024-12-01 23:58:32

难以置信。根据quirksmode,ie8无法实现childElementCount 我相信这一点,因为这就是返回的东西==“未定义”。所以我将用新的退出条件重写我的循环。这很糟糕,因为现在我将获得所有子项,包括评论和其他所有内容,而不仅仅是我正在寻找的元素。极好的。仅供参考,ie8 也没有实现 firstElementChildlastElementChildnextElementSiblingpreviousElementSibling

Unbelievable. According to quirksmode, ie8 fails to implement childElementCount and I believe it because that's the thing that's coming back == 'undefined'. So I'll rewrite my loop with a new exit condition. That sucks, because now I'm going to get all children, including comments and everything else, not just the elements I was looking for. Incredible. FYI, ie8 also does not implement firstElementChild, lastElementChild, nextElementSibling, or previousElementSibling.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文