JQuery追加的不是一个非常简单的案例

时间:2017-08-26 08:03:43

标签: javascript jquery append

我正在学习node.js和socket.io,我正在使用这个例子。一切正常,但是 所有jquery附加都不起作用,甚至像

那样简单
$("#messages").append("<p>someone said: </p>");

加载Jquery:

$.fn.jquery
"1.11.1"

这是整个index.html:

<!doctype html>
<html ng-app="chatapp">
    <head>
     <title>Socket.IO chat app</title>
     <style>
      * { margin: 0; padding: 0; box-sizing: border-box; }
      body { font: 13px Helvetica, Arial; }
      form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
      form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
      form button { width: 9%; background: rgb(10, 24, 255); border: none; padding: 10px; }
      #messages { list-style-type: none; margin: 0; padding: 0; }
      #messages li { padding: 5px 10px; }
      #messages li:nth-child(odd) { background: #eee; }
        </style>
    </head>
    <body>
     <ul id=messages">Messages: </ul>
     <form action="">
      <input id="m" autocomplete="off" />
      <button>Send</button>
     </form>
<script src="/socket.io/socket.io.js" type="text/javascript"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js" type="text/javascript"></script>
<script> $(document).ready(function(){ $("#messages").append("<p>Initializing... </p>"); });</script>
<script type="text/javascript">
 $(function () {
    var socket = io();
    $('form').submit(function(){
        socket.emit('chat message', $('#m').val());
        $('#m').val('');
        return false;
    });
    socket.on('chat message', function(msg){
        console.log('incoming: ' + msg);
        $("#messages").append("<p>someone said: </p>");
        console.log('second append ');
        $('#messages').append($('<li></li>').text("hola"));
    });
socket.on('connection', function() {
    console.log("client connected");
});

socket.on('connect_error', function(err) {
    console.log("client connect_error: ", err);
});

socket.on('connect_timeout', function(err) {
    console.log("client connect_timeout: ", err);
});
});
</script>
    </body>
</html>

看到

<script> $(document).ready(function(){$("#messages").append("p>Initializing... </p>"); });</script>

也没有显示。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

怪异。我通常把它写成

  $('<p>someone said:</p>').appendTo('#messages');

正如Phani Kumar在其他答案中指出的那样,你在"属性上错过了一个id。它应该是id="messages"