这就是我的解决方案。在您使用的 Jquery 版本中,在我的 cas ( jquery-1.7.2.js
) 中,第 2764 行有一段如下所示:
// 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 + "" );
}
};
根据https://bugs.jquery.com/ticket/12577,这是IE7模式下IE10的兼容性问题。解决方案是更改 set 函数中的返回变量:
return ( ret.nodeValue = value + "" );
//for:
elem.setAttribute(name, value + "");
return (ret.value);