ユーザーが #postComment リンクをクリックするたびにコメントを送信しなければならない状況があります。
このコードでは、最初のコメントは正常に送信されますが、2 回目は送信されません。これは、jquery が適切ではなく、ここで混乱しているためだと思います $('.comment a')。
「this」キーワードまたはその他の可能な解決策を使用して、これらの種類の変数にアクセスする方法を知りたいです。
コメントが送信されるたびに、newCommentBox 変数が commentWrapper に追加され、新しい commentBox が生成されます。
Jクエリ:
$('.comment a').click(function(){
comment="<pre>"+$('textarea').val()+"</pre>";
newcommentBox="<div class='CommentBox'>"
+"<div class='dp'><img src='../Images/defaultPic.jpg' width='50' height='50' /></div>"
+"<div class='name'>Muazzam Ali</div>"
+"<div class='comment'>"
+"<textarea cols='70' rows='10'></textarea><br />"
+"<a href='javascript:void(0)' id='postComment'><img src='../Images/commentbutton.png' height='30' width='90' /></a>"
+"</div>"
+"</div>";
$(this).prev().html("");
$(this).hide();
$(this).parent().html(comment);
$('#CommentWrapper').append(newcommentBox);
});
HTML:
<div id="CommentWrapper">
<div id="CommentHeading">Comments:</div>
<div class="CommentBox">
<div class="dp"><img src="../Images/defaultPic.jpg" width="50" height="50" /></div>
<div class="name">Muazzam Ali</div>
<div class="comment">Comment</div>
</div>
<div class="CommentBox">
<div class="dp"><img src="../Images/defaultPic.jpg" width="50" height="50" /></div>
<div class="name">Muazzam Ali</div>
<div class="comment">
<textarea cols="70" rows="10"></textarea><br />
<a href="javascript:void(0)" id="postComment"><img src="../Images/commentbutton.png" height="30" width="90" /></a>
</div>
</div>
</div>