简体   繁体   English

jQuery追加在非常简单的情况下不起作用

[英]JQuery append not working in a very simple case

I am learning node.js and socket.io and I am using the example. 我正在学习node.js和socket.io,并且正在使用示例。 All is working but all the jquery appends are not working, even simple ones like 一切正常,但所有jquery附加项均不起作用,即使是简单的类似

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

Jquery is loaded: jQuery已加载:

$.fn.jquery
"1.11.1"

This is entire index.html: 这是整个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>

See that 看到那个

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

is also not showing. 也没有显示。

Any idea? 任何想法?

Weird. 奇怪的。 I usually write that as 我通常写成

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

And as pointed by Phani Kumar in other answer, you miss one " on id attribute. It should be id="messages" . 正如Phani Kumar在其他答案中指出的那样,您在id属性上缺少一个" 。它应该是id="messages"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM