将Javascript对象转换为jquery对象?

3

当我试图将javascript对象转换为jquery对象,例如 obj = $(obj)。对象 obj 将丢失一个属性值,并将该值设置为 true。如果我使用 obj [0] .Validated,则返回完全相同的值。请就此提供建议。

obj = $(obj);
objValue = obj.attr("Validate");

什么是 obj?它是一个真正的 JS 对象还是 DOM 元素的引用? - Jamie Dixon
你期望attr("Validate")返回什么?你期望你的JS对象被转换为带有属性的DOM对象吗?Validate是你自定义对象的属性还是其他什么东西? - Jamie Dixon
期望attr("Validate")为true/false。将JS对象转换为JQuery对象。 - nivas
除非您发布一些代码来说明您的问题,否则这个问题将无法得到解决。 - Álvaro González
1个回答

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/ 另一个例子使用更熟悉的符号来说明我们如何处理数组: http://jsfiddle.net/48LWc/1/
var objCollection = new Array();
objCollection[0] = {Validate: true, SomethingElse: false, AnotherProperty: true};

var jQx = $(objCollection);

var jQxFirst = $(jQx[0]);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接