Javascript 在siblings之后添加新段落

Javascript 在siblings之后添加新段落,javascript,jquery,html,Javascript,Jquery,Html,我正在开发一个聊天应用程序,并使用jQuery for client site。现在,当我使用这一行创建段落时,它会将新段落添加到其兄弟段落之前。因此,如何将其添加到兄弟段落之后。我使用了br tag,但得到了相同的结果。下面是代码的提琴: 这是我想更改的jQuery主行 $('#answer').html("<p>" + bla + "</p>"); $('#answer').html(“”+bla+””); 谢谢。使用html函数实际上将替换#answer元素的

我正在开发一个聊天应用程序,并使用jQuery for client site。现在,当我使用这一行创建段落时,它会将新段落添加到其兄弟段落之前。因此,如何将其添加到兄弟段落之后。我使用了br tag,但得到了相同的结果。下面是代码的提琴:

这是我想更改的jQuery主行

$('#answer').html("<p>" + bla + "</p>");
$('#answer').html(“”+bla+”

”);

谢谢。

使用
html
函数实际上将替换
#answer
元素的整个html内容

要附加
元素,需要使用

.append(内容)

将参数指定的内容插入到匹配元素集中每个元素的末尾

$(“#答案”)。追加(“”+bla+”

”;
这是一个例子。 我用您的代码更改了两件事:

  • 您试图用
    bla=bla+$('#答案').html()。这是不必要的,因为我们总是只添加
    bla
    变量中的新内容
  • 每次用户按enter键时,您都覆盖了
    #answer
    元素的全部内容。您只需添加输入字段中的新内容
    使用jqueryappend在末尾添加HTML内容。在您的情况下,只需获取用户发送的内容,出现在
    #send
    元素中,在
    标记中组合,并将其附加到
    #answer
    元素中

    总之,使用这条线

    $('#answer').append("<p>" + $('#send').val() + "</p>");
    
    $('#answer').append(“”+$('#send').val()+”

    ”);

    它解决了你的问题。

    你有没有想过使用
    document.createElement('p')
    appendChild()
    ?我还没有在实际项目中使用过。你能给出更具体的例子吗?@NewToJS-因为OP使用的是jQuery库,在这里使用本机JS函数是没有意义的——jQuery已经提供了这个功能,并且可以跨浏览器维护它的行为(正常的JS有时会有困难)@Lix我喜欢用jQuery提供纯javascript,因为两者都有标记,我认为我的评论是相关的。有时学习纯javascript有助于理解jQuery是如何工作的,因为jQuery只不过是预编码的函数。
    $('#answer').append("<p>" + $('#send').val() + "</p>");