2012-04-22 7 views
0
$.post("../../Handler/Topic.ashx", 
     { commentclob: commentClob, 
     commenttitle: commentTitle, 
     topicId: id, 
     Button: buttoname }, 
     function (data) { 
     obj = jQuery.parseJSON(data); 
     var $table = $('<table/>').addClass('commentbox'); 

     $table.append('<tr><td>' + 
         'Comment Id:' + 
         obj.CommentId + 
         '</td></tr>'); 

     var includeReply = "<input type='button' 
            class='btnReply' 
            value='Reply' 
            id='btnReply-" + obj.CommentId + "' />"; 


     $("#commentContainer").prepend(
      $('<div/>').attr('id', '#comment-' + obj.CommentId) 
        .append($table) 
     ); 

     //This doesnt work   
     $("#comment-" + obj.CommentId).append(
      $('<div/>').attr('id', '#container-' + obj.CommentId)  
        .append(includeReply) 
     ); 
}); 

HTMLdivの動的

<div id="commentContainer"></div> 

私はコンテナをコメントに#コメント-idを持つdiv要素を追加して成功したことですが、私は#のCOMMENT-内部の別のdivを追加することができません内部の複数のdivを作成することができませんid。

私は

   var str = $("<div>").attr("id", "#container-" + obj.CommentId) 
       $(str).append(includeReply); 
       $table.append('<tr><td>' + 'CommentDiv:' + str + '</td></tr>'); 

を試してみました。しかし、それは

を与えるCommentDiv:[オブジェクトのオブジェクト]

+0

エラー/デバッグコンソールに手掛かりがありますか? – Marc

+0

はい、DOMノードを文字列で連結しようとしているからです。それはHTMLの文字列かもしれませんが、まだ文字列です。例:[works](http://jsfiddle.net/davidThomas/2x4F7/1/)。 [動作しません](http://jsfiddle.net/davidThomas/2x4F7/)。私はあなたが 'div'を作成したのと同じ方法で' tr'と 'td'を作成することをお勧めします。必要に応じてそれらを一緒に追加します。 [それはうまくいくようだ](http://jsfiddle.net/davidThomas/2x4F7/2/)。私は –

+0

uは私の提案は、管理し、TDとTRを作成する方法を – coder25

答えて

0

strが、それはそのように連結することができますので、HTMLオブジェクトです。 .html()でマークアップを抽出して連結する必要があります。

var str = $("<div>").attr("id", "#container-" + obj.CommentId) 
    $(str).append(includeReply); 
    $table.append('<tr><td>' + 'CommentDiv:' + str.html() + '</td></tr>');