当iam尝试将javascript对象转换为jquery对象时,如obj = $(obj)。对象obj正在丢失其中一个属性值并将值设置为true。如果我使用obj [0]。验证它返回的确切值。请在此建议。
obj = $(obj);
objValue = obj.attr("Validate");
答案 0 :(得分:3)
查看你的代码,你基本上有一个对象数组,因为你提到了能够这样做:
obj[0].Validate
这意味着当你将对象转换为jQuery对象时,你仍然在处理一个对象数组。
简单地执行obj.attr('Validate')
会很快,因为你还没有访问阵列中的单个对象。
请考虑以下事项:
var x = {obj1 : {Validate: true, SomethingElse: false, AnotherProperty: true}};
var jQx = $(x);
var jQxFirst = $(jQx.attr('obj1'));
在这里我们可以看到我有一个对象集合。为了检查我的Validate
属性,我需要访问对象集合中的单个项目。
现在可以使用:
console.log(jQxFirst.attr('Validate'));
console.log(jQxFirst.attr('SomethingElse'));
console.log(jQxFirst.attr('AnotherProperty'))
以下是一个有效的例子:http://jsfiddle.net/48LWc/
使用更熟悉的符号表示我们如何处理数组的另一个例子:
var objCollection = new Array();
objCollection[0] = {Validate: true, SomethingElse: false, AnotherProperty: true};
var jQx = $(objCollection);
var jQxFirst = $(jQx[0]);