javascript element.style在FF中未定义

时间:2010-12-20 17:38:01

标签: javascript css firefox

我想在javascript代码中设置css display属性:

    var div = document.createElement('div');
    div.innerHTML = content;
    div.childNodes[0].style.display = '';

它适用于IE,但不适用于FF。它说元素div的“样式”是未定义的。我怎么能在FF中做到这一点?

由于

2 个答案:

答案 0 :(得分:5)

什么是content?如果它以空格开头,则会有一个TextNode作为第一个子节点,并且它们没有样式属性(HTMLElementNodes可以)。

你可以:

  • 循环遍历孩子,直到你到达终点或找到​​HTMLElementNode
  • content
  • 的开头删除空格
  • 切换为使用createElement和朋友而不是innerHTML

答案 1 :(得分:0)

这也应该有效:

var div = document.createElement('div');
div.innerHTML = content;
div.childElementCount && div.firstElementChild.style.display = '';