【发布时间】:2013-06-13 13:20:53
【问题描述】:
我的网络应用程序正在这里运行:URL 我在 ie 浏览器中使用 jquery 版本 1.7.1.min.js,我在 IE 7 和 8 中收到以下错误。
错误详情:
SCRIPT3: Member not found.
jquery-1.7.0.min.js, line 2 character 30982
我还发现e.nodeValue 为空,如您在所附图像中看到的那样。。但是,相同的代码在 IE 9 和 10 上运行良好。
在浏览代码时,我发现以下代码不适用于 ie6/7。任何帮助如何摆脱这个错误?
/ IE6/7 do not support getting/setting some attributes with get/setAttribute
if ( !getSetAttribute ) {
fixSpecified = {
name: true,
id: true
};
// Use this for any attribute in IE6/7
// This fixes almost every IE6/7 issue
nodeHook = jQuery.valHooks.button = {
get: function( elem, name ) {
var ret;
ret = elem.getAttributeNode( name );
return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ?
ret.nodeValue :
undefined;
},
set: function( elem, value, name ) {
// Set the existing or create a new attribute node
var ret = elem.getAttributeNode( name );
if ( !ret ) {
ret = document.createAttribute( name );
elem.setAttributeNode( ret );
}
return ( ret.nodeValue = value + "" );
}
};
【问题讨论】:
-
你能用调试文件调试吗?在最小版本中并不总是准确的。
-
@OnurTOPAL 我刚刚用服务器上的调试版本替换了 min.js 代码。
-
我已经尝试用 try catch 块包装这个 if 条件,但没有运气!所以我刚刚将条件
(!getSetAttribute)设置为(getSetAttribute)。这种肮脏的方式现在有效。但是请让我知道如何真正解决这个问题。 -
您是否尝试升级到 jquery 1.11.1?
标签: jquery jquery-mobile