2017-03-09 9 views
1

私はオブジェクトのすべてのインスタンスを取得して、そのインスタンスのプロパティ値を表示するhtmlを作成しようとしています。そこでjqueryを使ってオブジェクトプロトタイプにプロパティを追加しました。このプロパティは、html要素をページに追加します。私が追加している要素には、その特定のオブジェクトインスタンスの名前を含むIDが含まれています。これを使用すると、特定のインスタンスのプロパティ値をそのインスタンスだけに表示できます。しかし、私は問題に実行します。私はこのコードを使用する場合オブジェクトを含むidを持つdivを追加する

$('.manDivContainer').append("<div class='manDiv' id=this.nameLC ></div>"); 

は、イベントは、this.nameLCが文字列であると考えるので、すべてのインスタンスが同じIDを持ってしまいます。

$('.manDivContainer').append("<div class='manDiv' id="+ this.nameLC + "></div>"); 

このコードを使用すると、引用符以外のスペースにオブジェクトを追加すると、イベントが機能しません。

$('.manDivContainer').append("<div class='manDiv'></div>").attr('id', this.nameLC + "Div"); 

一方、.attrを追加しようとすると、コードはその属性を.manDivのすべてのインスタンスに追加することを前提としています。だから私が作成したこのオブジェクトの最初のインスタンスで、それは.manDivにそのオブジェクトのIDを追加しますが、最初のオブジェクトの後に2番目のオブジェクトを作成すると、2番目のオブジェクトはそれ自身のID .manDiv 以前の.manDivでは、同じIDを持つ2つのdivを取得してしまい、それぞれのオブジェクトに固有の情報ではなく、同じ情報を表示することになります。私はこれを回避する方法を知らない。解決策があれば誰にも分かりますか?

答えて

0

id属性のための単一引用符ラッピング:あなたは新しい変数

するvar somethingToAdd =「ここにdiv要素を持つ文字列でなければならない」にコードを動作していない部分を分離することができます

$('.manDivContainer').append("<div class='manDiv' id='" + this.nameLC + "'></div>"); 
+0

私の神様、私がしなかったことはどうでしたか?ありがとう、ジョニー!コードは今、美しく動作しています。 –

0

を。
//ここにコンソールに出力して、どのように表示されるかを確認できます。
$( '。manDivContainer').end(somethingToAdd);

関連する問題