【问题标题】:Element property is undefined in IE 9IE 9 中未定义元素属性
【发布时间】:2011-11-16 11:50:38
【问题描述】:

在 JavaScript 中,我正在读取 HTML 元素,如下所示。

myTableElements = document.getElementsByTagName("table");

for(var i = 0; i < myTableElements.length; i++) {  
   // The following line fails as `myTableElements[i].name` is undefined  
   if (myTableElements[i].name == tGovTabName)
     //do something
 }

相同的代码在 IE 7 和 IE 8 中运行良好,但在 IE 9 中不行。通过观察浏览器 IE8 和 IE9 中的 HTML 代码,我找不到任何线索。

谁能发现问题?

【问题讨论】:

  • 不是 Java,是 JavaScript……
  • 我使用了 myTableElements[i].getAttribute("name")。有效。感谢所有回复的人。
  • @pratima:这是您的电话,但您的 HTML 仍然无效。
  • @AndyE:那我该怎么处理呢?我是新手。对JS,HTML了解不多
  • @pratima:这取决于您的 HTML。如果您的表还没有 id 属性,请改用这些属性。否则,您可以使用 data- 属性,这将使您的 HTML 对 HTML5 验证器有效。见ejohn.org/blog/html-5-data-attributes

标签: javascript html internet-explorer-9


【解决方案1】:

由于table elements do not have a name attribute,我不希望它们具有 name 属性,因此不应定义它,这是预期的行为。

【讨论】:

  • +1,他们终于删除了在 IE 9 中添加所有属性作为扩展属性的行为,这就是它在早期浏览器中工作的原因。
【解决方案2】:

HTML 中的&lt;table&gt; 标签没有名称属性.....

http://www.w3.org/TR/html4/struct/tables.html#edef-TABLE

不能用身份证吗?

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 2011-01-17
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多