2012-04-13 15 views
-1

他のdivの中にあるdivの内容を取得してリストに入れて、それをデータベースに送信したいと考えています。 divの周りをループして内容をすべて取得しますが、ループの最初の項目の内容だけを返します。子divの内容を取得する方法div javascript

本部は、次のようになります。

 $('#Classes').append('<div> <h1 class = "flip" wpID="' + subjects[i].Wkp_ID+ '</h1><div id ="NewBody" class="panel" contenteditable>' + subjects[i].Wkp_Body + '</div> </div>'); 

私はコンテンツを取得するためにこれらの行を使用しますので、

 $('#Classes div').each(function (index) { 
     var header = $(this).children('h1'); 
     var wpID = header.attr('wpID'); 
     var WeekBody = document.getElementById("NewBody"); 
     var Weekbodycontent = WeekBody.innerHTML; 

    WeekPlan[index] = {"Wkp_Body": WeekBody}; 
    }); 

、あなたは私がリストずつにすべての項目を追加する方法を知っています1 ?

ありがとうございました

答えて

1

いくつかの問題があります。まず、ドキュメント内の複数のオブジェクトに同じIDを指定することはできません。あなたはそれを変更する必要があります。

その後、私は希望.panelのdivにクラスを使用して、このタイプのソリューションをお勧めします:

$('#Classes').append('<div class="container"><div class="panel" contenteditable>' + 
    subjects[i].Wkp_Body + '</div> </div>'); 

$('#Classes .container').each(function (index) { 
    var header = $(this).children('h1'); 
    var body = $(this).find(".panel"); 
    var Weekbodycontent = body.html(); 
    WeekPlan[index] = {"Wkp_Body": body.get(0)}; 
}); 
+0

[OK]を第二のdivは、私が持っているヘッダを持って前に、これは素晴らしいことだが、問題があります私のコードで使用している属性もいくつかあります。これは次のようなものです: – OnlyHope

+0

$( '#Classes')。append( '

' + subjects[i].sbj_Name + " Class:" + subjects[i].Ttb_Class + '

' + subjects[i].Wkp_Body + '
'); – OnlyHope

+0

実際のHTMLを正確に表示したい場合は、私はあなたが開示したHTMLだけで行くことができます。また、複数行のコードをコメントに入れないでください(読めないので)。複数行のコードを追加する必要がある場合は、 'edit'リンクを使用して質問に追加し、質問の新しい部分に人を誘導するコメントを追加します。 – jfriend00

関連する問題