1

次の行のvbscriptコードをjavascriptに変換する必要があります If TypeName(document.all(cFieldName)) = "HTMLInputElement" Then

ElseIf TypeName(document.all(cFieldName)) = "HTMLSelectElement" Then

私は試しましたが、機能if(typeof $("#" + (cFieldName)) === "HTMLInputElement")else if(typeof $("#" + cFieldName) === "HTMLSelectElement")ていません。

4

1 に答える 1

1

この特定のケースでは、これを行うことができます:

if (document.all[cFieldName].nodeName === "INPUT") {
    // It's an input element
}

if (document.all[cFieldName].nodeName === "SELECT") {
    // It's a select element
}

(これは、XHTMLではなくHTMLを前提としています。XHTMLでは、名前は小文字になります。混乱を避けるために、通常.toUpperCase()はそこに入れます。)

あなたが発見したtypeofように、あなたに与えるだけです"object"。一部のエンジンでは、が得られる可能性がありますが信頼性の高いクロスブラウザーになるとは思いません(このコードが変換される理由の1つは、IE以外のブラウザーで実行するためだと思います)。私のブログ投稿には、JavaScriptの内容を理解するためのさまざまな方法があります(ただし、特にHTML要素に関してはそうではありません)Object.prototype.toString.call(document.all[cFieldName])"HTMLInputElement"

于 2013-02-11T09:36:17.217 に答える