Справка по вставке комментария jQuery

#jquery

#jquery

Вопрос:

Всем привет, я пытаюсь узнать, как вставить комментарий в некоторый html-код без необходимости обновления страницы. Я знаю, что jQuery способен вставлять комментарий в область div, но у меня возникают проблемы с поиском подобного примера с исчезновением. Вот мой код комментария:

 <div id="CommentBox122" style="width:80%; padding:2px; margin-left:25px;"> 
   <table width="650px" border="0" cellpadding="0" cellspacing="5" style="margin-left:20px; background-color: #F8F8F8; border-bottom:#CCC solid 1px;"><tr> 
      <td width="10%" rowspan="2" align="center" class="Commentimage"><img src="img/avatar/gkrgimmkdhmggfh.jpg" height="60" /></td> 
      <td width="90%" class="Commentposted">Posted by me on Saturday, May 01, 2010 @ 4:37: PM</td></tr> 
      <tr><td class="Commentsaying">this is a test comment</td></tr> 
   </table> 

<div id="stylized" class="myform" align="center"> 
    <form id="CommentForm122" name="CommentForm122"> 
            <div align="center" style="text-align:center; color:#F00; font-family:Arial, Helvetica, sans-serif; font-weight:bold;">Would you like to leave a comment, Robert?</div> 
            <textarea name="txtComment" class="box" id="txtComment"></textarea> 
            <input name="txtpostid" type="text" id="txtpostid" style="visibility:hidden; display:none; height:0px; width:0px;" value="Demo43639" /> 
            <div class="buttons" align="center"> 
                <button type="button" id="Button122" name="Button122" class="positive" onclick="doStuff();"><img name="Submit" src="imgbuttonimgComment.png" alt="" />Post Comment</button> 
            </div> 
    </form> 
</div> 
</div>
  

Код, который мне нужно вставить снова, будет:

 <table width="650px" border="0" cellpadding="0" cellspacing="5" style="margin-left:20px; background-color: #F8F8F8; border-bottom:#CCC solid 1px;"><tr> 
  <td width="10%" rowspan="2" align="center" class="Commentimage"><img src="img/avatar/gkrgimmkdhmggfh.jpg" height="60" /></td> 
  <td width="90%" class="Commentposted">Posted by me on Saturday, May 01, 2010 @ 4:37: PM</td></tr> 
  <tr><td class="Commentsaying">this is a test comment</td></tr> 
</table>
  

Но опять же, я не могу найти пример использования jQuery для автоматической вставки этой части кода в другое поле «таблица> /table>»..

Итак, после его вставки с помощью jQuery код должен выглядеть следующим образом:

 <div id="CommentBox122" style="width:80%; padding:2px; margin-left:25px;"> 
   <table width="650px" border="0" cellpadding="0" cellspacing="5" style="margin-left:20px; background-color: #F8F8F8; border-bottom:#CCC solid 1px;"><tr> 
      <td width="10%" rowspan="2" align="center" class="Commentimage"><img src="img/avatar/gkrgimmkdhmggfh.jpg" height="60" /></td> 
      <td width="90%" class="Commentposted">Posted by me on Saturday, May 01, 2010 @ 4:37: PM</td></tr> 
      <tr><td class="Commentsaying">this is a test comment</td></tr> 
   </table> 

   <table width="650px" border="0" cellpadding="0" cellspacing="5" style="margin-left:20px; background-color: #F8F8F8; border-bottom:#CCC solid 1px;"><tr> 
      <td width="10%" rowspan="2" align="center" class="Commentimage"><img src="img/avatar/gkrgimmkdhmggfh.jpg" height="60" /></td> 
      <td width="90%" class="Commentposted">Posted by me on Saturday, May 01, 2010 @ 4:37: PM</td></tr> 
      <tr><td class="Commentsaying">this is a test comment</td></tr> 
   </table>

<div id="stylized" class="myform" align="center"> 
    <form id="CommentForm122" name="CommentForm122"> 
            <div align="center" style="text-align:center; color:#F00; font-family:Arial, Helvetica, sans-serif; font-weight:bold;">Would you like to leave a comment, Robert?</div> 
            <textarea name="txtComment" class="box" id="txtComment"></textarea> 
            <input name="txtpostid" type="text" id="txtpostid" style="visibility:hidden; display:none; height:0px; width:0px;" value="Demo43639" /> 
            <div class="buttons" align="center"> 
                <button type="button" id="Button122" name="Button122" class="positive" onclick="doStuff();"><img name="Submit" src="imgbuttonimgComment.png" alt="" />Post Comment</button> 
            </div> 
    </form> 
</div> 
</div>
  

Как всегда, любая помощь была бы отличной! :o)

Дэвид

Ответ №1:

Учитывая вашу структуру, вы могли бы сделать это:

 $("#stylized").before(htmlString);
  

Где «#stylized» — это идентификатор контейнера для вашей формы ввода, а «HtmlString» — это HTML-код вашей новой таблицы, которую вы хотите вставить. При таком подходе новая строка всегда будет добавляться в конец вашего списка таблиц, но перед формой ввода.

РЕДАКТИРОВАТЬ: На самом деле, я с подозрением отношусь к вашему идентификатору для формы ввода — похоже, что он может быть не уникальным для страницы. Вы также могли бы сделать это:

 $("#stylized", "#CommentBox122").before(htmlString);
  

Это ограничит выбор идентификатора «#stylized» в контексте элемента «#CommentBox122».

Ответ №2:

Сопоставьте последний элемент поля комментариев, а затем используйте .before( строку, элемент, html ) для вставки комментария.