对象中的 Javascript 对象错误

标签 javascript object internet-explorer-8 internet-explorer-7

当我使用 javascript 对象时,我在 Internet Explorer 7 和 8 中遇到了一个奇怪的错误。它适用于 IE9 和所有其他浏览器。

当我使用一个对象并且该对象中的任何参数都是“class”时,Internet Explorer 7 和 8 停止执行任何操作。

我使用的是 jquery 1.8.2。

我将向您展示一些代码。

var obj = {
             data:{class:'image',action:'getAllFkId',type:nbType, fkid:id},
             success:function(json){
                alert('hi');

            }
        };
        this.ajax(obj);

“this.ajax”的代码(“this”是一个对象):

ajax : function(params){ 

        var defaults = {
            url: '../index.php',
            type:'POST',
            data:{},
            dataType:'json',
            success:function(){/*Function handler*/}
        }
        var options = $.extend(defaults, params);

        $.ajax(options);
        return this;
    }, // ..... rest of code

如果我将参数名称更改为其他任何名称,它就会起作用。

// This is just fine foo instead of class
var obj = {
         data:{foo:'image',action:'getAllFkId',type:nbType, fkid:id},
         success:function(json){
            alert('hi');

        }
    };
    this.ajax(obj);

我想了解为什么 IE7-8 不能使用“class”作为参数。 感谢您抽出时间。

最佳答案

对于某些较旧的浏览器,您需要将 class 用引号引起来。

data:{"class":"image",...

虽然 ECMAScript 允许保留字作为属性标识符,但一些旧版浏览器不允许。

关于对象中的 Javascript 对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811804/

相关文章:

javascript - 如何在 javascript 中不使用正则表达式将首字母变为大写

javascript - 仅在浏览器上添加类向上滚动

javascript - ie8_getElementById()

javascript - X-UA-兼容 JavaScript 和 CSS 文件

javascript - 目标中嵌入的 url

javascript - d3.js 从文件中解析类似 JSON 的数据

类的 Java 对象不返回相同的值

Javascript:如何将具有私有(private)字段的对象保存到文件中?

Java Arraylist 删除对象

html - Opera 和 IE8 - 主体下方的间隙