IEの下の行が機能しています。 popupはdiv要素です。Firefoxでall()関数が動作しない
popup.all("submenu").innerHTML = "";
しかし、エラー以下の他のブラウザでは
popup.allは関数ではありません来ています。
他のブラウザのすべての機能の代替手段はありますか?
お願いします。ありがとう。
IEの下の行が機能しています。 popupはdiv要素です。Firefoxでall()関数が動作しない
popup.all("submenu").innerHTML = "";
しかし、エラー以下の他のブラウザでは
popup.allは関数ではありません来ています。
他のブラウザのすべての機能の代替手段はありますか?
お願いします。ありがとう。
はこれを試してみてください(Internet Explorerを含む)すべてのブラウザで
var popup=document.getElementById('popup');
for (i in popup.childNodes) {
if (popup.childNodes[i].nodeType == 1) {
popup.childNodes[i].innerHTML = '';
}
}
すべてのメソッドは、ほとんどのブラウザでサポートされていません。 IEを除くdocument.getElementByIdをテストし、falseの場合は "all"メソッドを使用します。
私は、IE4(またはそれ以下)を使っている人にブラウザをアップグレードする必要があることを誰にも伝えたいと思うだけです。 –
@Anthony - 私の言葉は正確です。^_^ –
あなたは、DOMツリー内のその場所でアイテムを見つけることが期待されている(私はそれが.innerHTML
プロパティ与えられたDOMノードだと仮定しています)。たとえば、document.getElementById()とdocument.getElementsByTagName()を使用できます。もちろん、ノードへの参照は通常の変数に格納することができます。
代わりにdocument.getElementById(elementName).innerHTML = whatever;
を使用してください。
IDまたは名前をグローバル変数として使用してDOM要素にアクセスすることは、有害であると考えられるIE独自の機能です。標準モードではほとんどのブラウザーで動作しません。 * children *のすべてのenumerableプロパティがDOM要素である(DOM要素が* children *プロパティをサポートしている)と仮定してはいけません。 – RobG
あなたはchildren [i] .innerHTMLをテストできます。存在する場合は、 '' ...それはうまくいかないでしょうか? –
ちなみに、ポップアップはポップアップ= document.getElementById( 'someElement')... 誤解... :) –