さまざまなJavaScriptオブジェクトや、JavaScriptで作成されたHTML要素の機能をすべて列挙したいと考えています。たとえば、次はChromeとFirefoxの両方で素晴らしい作品:JavaScriptオブジェクトの関数を列挙しますか?
<html>
<body>
<script>
var object = document.createElement("select");
for(var prop in object)
{
document.body.innerHTML += "" + prop + "; // " + typeof object[prop] + "<br/>";
}
</script>
</body>
</html>
これは、そのオブジェクトに利用可能な機能、例えば含むオブジェクトのすべてのプロパティを出力します
...
insertAdjacentHTML; // function
insertAdjacentText; // function
insertAdjacentElement; // function
getAttribute; // function
setAttribute; // function
removeAttribute; // function
getAttributeNode; // function
...
しかし、これはで動作しません。 IE9では、文字列/数値/オブジェクトのプロパティだけが得られ、関数のプロパティは決してありません。
私の質問は、どのように関数名がIE9のオブジェクトによってどのようにエクスポートされるのかを実行時に見つけることができますか?
事前に感謝します。
UPDATE:Doctypeを追加すると、期待どおりに機能します。
<!DOCTYPE html>
<body>
<script>
var object = document.createElement("select");
for(var prop in object)
{
document.body.innerHTML += "" + prop + "; // " + typeof object[prop] + "<br/>";
}
</script>
</body>
</html>
はあなたにIE9でこの文句を言わない仕事は...私はあなたのコードの例を作ってください。[リンク](http://jsfiddle.net/MPADp/1/) ie9で正常に動作します。あなたが直面している問題は、ie8に表示されます。 – alex