JQuery Append Funktioniert Nicht Richtig

Bin ich über sockets mit JQuery, In der auf die Nachricht call of sockets möchte ich anfügen, einen div in meinem html-Seite, aber sobald die Seite geladen ist, sehe ich ein extra div-Element bereits angehängt, Wie kann ich verhindern, dass er von Anhängen beim laden der Seite.

Zweitens, Wenn ein div angehängt, Dort ist ein button mit id=answerit im inneren div auf die ich Hinzugefügt onclick-Funktionalität. aber wenn das div-Element angehängt, und versuchen Sie, klicken Sie auf den beantworten-button nicht, rufen die onclick-Funktion, aber wenn die Seite neu geladen wird, dann funktioniert es

Mein code ist

  Student.socket.onmessage = function (message) {
            //alert(message.data);
            $( document ).ready(function() {
            var str = message.data;
            var ques = str.split(":");
            var questionId = ques[0];
            var questionText = ques[1];
            var question = 
                "<div class='span11' style='border:2px solid; border-radius:5px; background-color:#b0c4de;'>"+
                    "<div style='width:30px; float:left;'>" +
                        "<div class='voteup'><a id="+questionId+" vote='true' title='This answer is useful' style='cursor:pointer'>up</a></div>"+
                        "<div class='votedown'><a id="+questionId+" vote='false' title='This answer is not useful' style='cursor:pointer'>down</a></div>"+
                    "</div>"+
                    "<div style='float:left;'>"+
                        "<div style='margin-top:5px' class='span10'>"+
                            "<span>"+questionText+"</span>"+
                            "<button id="+questionId+" style='float:right' class='answerit btn'>Answer It</button>"+
                            "<button id="+questionId+" style='float:right' class='showAnswers btn'>Show Answers</button>"+
                        "</div>"+
                    "</div>"+
                "</div>";
            $('#studentsQuestions').append(question);  
            });
        };

HTML ist

<div id="studentsQuestions"></div>

Jedes mal, wenn ich eine Seite zu laden sehe ich ein extra div-Element bereits vorhanden mit undefined text

Dank

  • Was hat das zu tun mit Java selbst? Java ist nicht dasselbe wie Javascript (das sollte nie umbenannt von ECMAScript für die Zwecke dieser website).
  • Warum haben Sie eine $(document).ready() in Ihrem .onmessage handler?
  • Wenn ich dont verwenden Sie Es dann nicht Anhängen
  • Das ist eine Fehlanwendung von jQuery.bereit. Sie sollten verwenden Sie das Ereignis / Funktion starten Sie hören die Nachrichten auf sockel, dass die Art und Weise, in der Funktion für die Verarbeitung der Nachricht, können Sie sicher sein, dass der DOM fertig ist und in Betrieb ist.
  • Wenn Sie die Auskommentierung der Warnung, tut es das Feuer beim laden der Seite?
  • Nein, es wird nicht ausgelöst

InformationsquelleAutor Wearybands | 2013-07-30
Schreibe einen Kommentar