2010-12-20 8 views
3

で定義されていません:javascriptのelement.style私はjavascriptのコードでCSSのdisplayプロパティを設定したいFF

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

それはIEで動作しますが、FFにはしません。要素divには "style"は定義されていません。 FFでどうすればいいですか?

おかげ

+1

「div.childNodes [0]」はどのようなノードですか? – Pointy

答えて

5

contentは何ですか?空白で始まる場合、最初の子としてTextNodeがあり、スタイルプロパティ(HTMLElementNodes do)がありません。

次のいずれかが可能です。子供を超える

  • ループまであなたどちらかの端に到達するか、代わりにcreateElementや友人を使用してcontent
  • スイッチを開始してからHTMLElementNodeに
  • ストリップ空白を見つけますinnerHTML
+0

返事ありがとう、コンテンツはHTMLコードですが、スペースで始まるようです。 – ihorko

+0

また、Element Traversal仕様http://www.w3.org/TR/ElementTraversal/には、firstElementChildのようなプロパティが定義されています。私はブラウザの互換性についてはわかりません –

0

のこれも動作するはずです:

var div = document.createElement('div'); 
div.innerHTML = content; 
div.childElementCount && div.firstElementChild.style.display = ''; 
関連する問題