2011-09-05 6 views
1

iamがjavascriptオブジェクトをobj = $(obj)のようなjqueryオブジェクトに変換しようとしています。オブジェクトobjは、プロパティ値の1つを失い、trueを返します.if iamはobj [0]を使って値を返します。正確な値を返します。これをお勧めします。あなたのコードを見てみるとJavascriptオブジェクトをjqueryオブジェクトに変換しますか?

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

objとは何ですか?それは本当のJSオブジェクトですか、それともDOM要素への参照ですか? –

+0

そのJSオブジェクト – nivas

+0

attr( "Validate")が返すと期待しているものは何ですか?あなたはあなたのJSオブジェクトが属性を持つDOMオブジェクトに変換されることを期待していますか?カスタムオブジェクトなどのプロパティを検証していますか? –

答えて

2

あなたが行うことができることに述べたことから、あなたは基本的にオブジェクトの配列を持っている:

obj[0].Validate 

これは、あなたのオブジェクトはjQueryオブジェクトに変換するときに、あなたがしていることを意味しそれでもオブジェクトの配列を扱います。

単に配列内の1つのオブジェクトにアクセスしていないので、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]);