问题描述
document.getElementsByName(param) 这个语句中,如果param的字符串包有‘.’(如tempproduct.id),在我的IE8里面就不能获取数据?请问是怎么一会事? 问题补充:pigswimming 写道
解决方案
document.getElementsByName在IE下与其他浏览器实现不一样,它只对有系统默认“name”属性的元素有效,比如表达元素,但对于自定义的name属性是无效的。见MSDN解释:引用 When you use the getElementsByName method, all elements in the document that have the specified NAME attribute or ID attribute value are returned. Elements that support both the NAME attribute and the ID attribute are included in the collection returned by the getElementsByName method, but elements with a NAME expando are not included in the collection; therefore, this method cannot be used to retrieve custom tags by name.http://msdn.microsoft.com/en-us/library/ms536438%28VS.85%29.aspx
解决方案二:
楼主试试:1、用转义字符。'abc.a'.2、用连接符:‘+’,"ab"+"."+"c"或者["ab",".","c"].join("")
解决方案三:
试试document.getElementById()和document.getElementsByTagName()