$(document).on("click", "button", function() {
  $(this).before('<div class="comment_box_all"><div class="comment_user"></div></div>')

});

$('button').click(function(){
    var content = document.createElement("span");
    content.innerHTML = $(".textarea").val().replace(/(\n|\r|\r\n)/g, '<br>');
    $('.comment_user').append(content);
});

.comment_panel
{
  width:450px;
  height:100px;
}
textarea
{
  width:300px;
  height:80px;
  }
button
{
  position:absolute;
  top:10px;
  left:330px;
 }
.comment_box_all
{
  width:450px;
  height:100px;
  background-color:#999;
  border:1px solid #000;
  }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="comment_panel">
    <textarea class="textarea" placeholder="Add text..."></textarea>
    <button>Add comment</button>
</div>

我的问题是当点击<button>Add comment</button>下的“添加评论”create div按钮时
问题:如何点击“添加评论”按钮并在<div class="comment_panel">上方创建div。我无法处理父div上面的create元素

最佳答案

一种方法是使用.parent函数。必须使用.before方法来comment_paneldiv。

$('button').click(function(){
    $(this).parent().before('<div class="comment_box_all"><div class="comment_user"></div></div>')
    var content = document.createElement("span");
   content.innerHTML=$(".textarea").val().replace(/(\n|\r|\r\n)/g, '<br>');
    $('.comment_user').append(content);
});

.comment_panel
{
  width:450px;
  height:100px;
}
textarea
{
  width:300px;
  height:80px;
  }
button
{

  top:10px;
  left:330px;
 }
.comment_box_all
{
  width:450px;
  height:100px;
  background-color:#999;
  border:1px solid #000;
  }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="comment_panel">
    <textarea class="textarea" placeholder="Add text..."></textarea>
    <button>Add comment</button>
</div>

09-19 02:24