您可以检查该值是否为字符串/数字,而不是检查可以是对象文字、数组null
并将生成的对象,例如:
for (var property in preferences_data.person) {
var cur = preferences_data.person[property];
if (typeof cur === "string" || typeof cur === "number") {
$("div.item form[name=" + property + "]").addClass('active');
}
}
当然,如果您仍然想检查对象,您可以过滤掉数组并null
使用:
var theType = Object.prototype.toString.call(obj);
theType
然后将是“[object Object]”、“[object Array]”或“[object Null]”(可能还有其他)。所以你可以使用这些,和/或!== null
检查null
.
另请注意,值中的字符可能会破坏属性选择器 - 您应该始终引用选择器内的值。所以将选择器更改为:
$('div.item form[name="' + property + '"]')