2011-12-08 3 views
3

$("#datadiv").html();で取得するhtmlの文字列があります。このデータには他にもいくつかの要素があります。私がしたいのは、これらの要素の1つにデータを追加することです。JQueryでhtmlの文字列にデータを追加

var data = $("#datadiv").html(); 
var somestring = "Some text" 

次に、データ内のdiv #stringholderにsomestringを追加します。これは可能ですか?

質問が来る前に、私は$("#datadiv").html();の前にdivに追加できません。

答えて

2

あなたはこのような何かを行うことができます。htmlメソッドは文字列を返す

$(data).find("#stringholder").append(somestring); 

として、あなたはjQueryオブジェクトを作成するには、再度のjQueryにそれを渡す必要があります。次に、findを呼び出して必要な要素を取得し、appendに他の文字列を追加することができます。

jQueryは、HTML as an argumentという文字列を受け入れることができます。それは受け入れられるセレクタ文字列だけではありません。 HTMLの文字列を渡すと、そのフラグメントはさらなるメソッド呼び出しのコンテキストになります。

これはすでに分かっていると思いますが、DOMのHTMLには影響しません。これは、文字列をjQueryに渡すことによって生成されるフラグメントにのみ影響します。

+0

これは期待どおりに機能していたようですが、今ではデータを変数に割り当てる問題があります。私は 'data = $(data).find("#wysiwygIFrame ")。append(somedata)'を試みましたが、JQuery関数を変数に代入するだけです。私は 'data = $(data).find("#wysiwygIFrame ")append(somedata).html();'を結んでいました。だから、それについてのヒント? – Samsquanch

+0

あなたの2回目の試みは正しいと思われます。ここに小さな例を見てください:http://jsfiddle.net/QbRgt/ –

0

はあなたが意味するか:

 
var data = $("#datadiv").html(); 
var somestring = "Some text" 
var newData = data + " " + somestring; 
var holderData = $("#stringholder").html(); 
var newestData = holderData + " " + newData; 
$("#stringholder").html(''); 
$("#stringholder").html(newestData); 
0

確かに。基本的には、現在のdivの文字列を変数にダンプし、追加のテキストを連結してdivに戻すことができます。

すべてをトリガーするイベントが必要です。

関連する問題