使用jQuery检查页面上是否存在许多不同的类

时间:2015-02-26 19:40:34

标签: javascript jquery arrays json

这应该非常简单,但由于某种原因,我无法让它发挥作用。我有一个可能存在于页面上的类名。我遍历这个数组并检查该类是否存在,如果存在,我将该对象添加到另一个数组。

jQuery的:

var class_list = ['class1', 'class2', 'class3'];
var classes = {};

$(function(){   
    if( class_exists() ){
        console.log('Classes: '+JSON.stringify(classes));
    }
});

function class_exists(){
    var exists = false;
    for( var i=0; i<class_list.length; i++ ){

        //check if the class exists:
        if( $('.'+class_list[i])[0] ){
            classes[class_list[i]] = $('.'+class_list[i]); 
            exists = true;
        }
    }
    return exists;
}

此输出为Uncaught TypeError: Converting circular structure to JSON。我希望看到像{'class1': [object Object], 'class2': [object Object]}这样的东西。这应该是这么简单,我哪里错了?

1 个答案:

答案 0 :(得分:1)

这都是因为这一行:

console.log('Classes: '+JSON.stringify(classes));

由于您使用的是浏览器控制台,只需使用

即可
console.log('Classes: ', classes);

我的浏览器(chrome)至少支持渲染对象。我在使用nodejs,我使用util.inspect来克服同样的问题。