0

JQuery でソケットを使用しています。ソケットのメッセージ呼び出しで、html ページに div を追加したいのですが、ページが読み込まれるとすぐに余分な div が既に追加されていることがわかります。ロード時に追加されないようにするにはどうすればよいですか?ページ。

第二に、div が追加された場合 onclick 機能を追加した id=answerit を持つボタンが div 内にあります。ただし、div が追加されて [answer it] ボタンをクリックしようとすると、onclick 関数は呼び出されませんが、ページがリロードされると機能します

私のコードは

  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は

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

ページを読み込むたびに、未定義のテキストを含む余分な div が既に存在することがわかります

ありがとう

4

1 に答える 1

2

必要に応じて、新しいコンテンツを追加する前に div#studentsQuestions を消去できます

$("#studentsQuestion").empty().html(question);
于 2013-07-30T13:12:00.743 に答える