2009-08-21 3 views
0

javascriptオブジェクトの値を変更する必要があります。JavaScriptオブジェクトのメンバーの値の再割り当て

var wba_product = { 
    sku:'12ZB7', 
    availability:'Usually ships in 1-2 business days', 
} 

これはjavascriptを使用して変更します。

<script language="javascript" type="text/javascript> 
if(wba_product.sku == '12ZB7') wba_product.availability + ' Items are charged to your credit card only when they ship. Your credit card will not be charged until the item is shipped to you. '; 
</script> 

しかし、この構文は機能しません。私はあなたが何をしたいと思います

+0

私は忘れてしまった。私はvar宣言を変更することはできません。 – Jeff

答えて

0

"DOM要素を に直接設定しています.jsonオブジェクトを変更すると、DOM要素の ではなくjsonオブジェクトのみが変更されます。

私は何をしたのですか。 div.innerHtml + = "My added copy"と連結しました。

J.

0

if(wba_product.sku == '12ZB7') { 
    wba_product.availability += 'Items are charged to...'; 
} 
+0

等しいは機能しません。そして、私は連結したいと思います。 – Jeff

4

2点である:

  1. あなたはavailabilityメンバーの末尾にカンマを持って、IEはそれを許容しません。

  2. 変数とオブジェクトメンバーに値を割り当てるには、=assignment operatorを使用します。


var wba_product = { 
    sku:'12ZB7', 
    availability:'Usually ships in 1-2 business days' // notice the comma removed 
} 

if(wba_product.sku == '12ZB7') { 
    wba_product.availability = 'new value'; // assign a new value 
} 

そして、あなたは、可用性のメンバーの最後に文字列を連結する場合、あなたはこのようにそれを行うことができます。アマゾンで開発者によると

wba_product.availability += ' concatenated at the end.'; 
+0

私は簡潔にするためにvar宣言を短縮しました。問題はカンマではありません。おかげさまで – Jeff

+0

わかりました。よくある間違いだからこそ、私はあなたに話しました。 – CMS

+0

ところでwba_productは連想配列ではなく、オブジェクトリテラルです。 – CMS

関連する問題