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



我使用的是一个特定于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。我假设all方法是特定于IE的,但我不知道应该用什么来替换它。

elements集合:

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

最新更新