什么是HTMLFormElement的所有方法的浏览器中立替换?

时间:2013-11-24 14:32:14

标签: javascript internet-explorer

我正在使用机构(即任何修复必须在我身边)网站,这是IE特定的,但我想用它与Safari。网站主要是有效,但有一次我在我的控制台中收到以下错误:

Uncaught TypeError: Object #<HTMLFormElement> has no method 'all'

当我深入研究Javascript时,错误来自:

function fnFocus() {
        var frmCtl = document.frmAddEditAdultPosition ;
        if(frmCtl !=null) {
            var ctlFN = frmCtl.all("txtFirstName") ;
            ctlFN.focus() ;
        }
    }

调用all方法分散在整个代码中。

我的计划是使用proxypy来修复Javascript。我假设所有方法都是IE特有的,但我不知道应该用什么替换它。< / p>

1 个答案:

答案 0 :(得分:1)

elements collection

frmCtl.elements["txtFirstName"] // Might be another collection if there are duplicate fields of that name

getElementsByName

frmCtl.getElementsByName("txtFirstName") // Always a collection

querySelector

frmCtl.querySelector('[name="txtFirstName"]') // Gets the first match

querySelectorAll

frmCtl.querySelectorAll('[name="txtFirstName"]') // Always a collection