0

.append()jqueryを使用して除算に除算を追加しようとしています。しかし、私のコードは分割を追加していません。

私のコードは次のとおりです。

    for(var k = 0,len=data.shareInfo.length;k<len;k += 1){
    var newcommhtml = '<div id="S0'+thecid+'" class="snew">';
    newcommhtml = newcommhtml + '<div class="author-image"><img src="data:image/jpeg;base64,'+data.shareInfo[k].senderPicture+'" alt="'+data.shareInfo[k].uname+'" width="100%" height="100%" class="ava"></div><span>'+data.shareInfo[k].uname+' shared the image '+data.shareInfo[k].imname+'</span>';
    newcommhtml = newcommhtml + '<div class="s-content"><div class="s-message"><span>'+nl2br(data.shareInfo[k].message+'</span></div><div class="shpicture">');
    newcommhtml = newcommhtml + '<img src="data:image/jpeg;base64,'+data.shareInfo[k].image+'" alt="'+data.shareInfo[k].imname+'" width="100%" height="100%" data-id="'+data.shareInfo[k].id+'" data-alid="'+data.shareInfo[k].alid+'" data-shareid="'+data.shareInfo[k].shareId+'">';
    newcommhtml = newcommhtml + '</div></div>';
    var thelm = "#S0"+thecid;
    $('#spscrl').append(newcommhtml);
    $(thelm).hide().fadeIn('slow');
    var newcommhtml=null;
    newcommhtml ='<div class="SPcommentbox">';
    newcommhtml = newcommhtml + '<div class="comment"><div class="commenter-image">';
    newcommhtml = newcommhtml +'</div><div class="commentername">';
    newcommhtml = newcommhtml +'</div><div class="addcomment"><input type ="text" placeholder="Write a comment..." class="commentbox"></input></div></div>';
    var selector='#S'+thecid;
    $(selector).append(newcommhtml);
    thecid++;
    }

コードはにを追加できdivsます#spscrl。ただし、に追加することはできません。それselector (#S+thecid)を使用して追加しようとするとclass、が追加されます。jQueryでdivを追加していることに注意してください....snewdivision

誰かが私がこの問題を解決するのを手伝ってください...ありがとう...

4

2 に答える 2

2

のIDnewcommhtmlS0+theCidに設定するため、最初に「s」、次にゼロ、次に。の内容を設定しtheCidます。後で、そのIDを再作成しようとしますが、ゼロを忘れてしまいます。これは、このアプローチが最初に機能するが、2回目は機能しない理由を説明します。

だから変更:

var selector='#S'+thecid;

の中へ:

var selector='#S0'+thecid; // THE ZERO!

でも、の内容を見ないと断言できませんtheCid

于 2013-03-04T15:39:57.860 に答える
1

あなたselectorの変数は間違っています。

また、反復にjQuery.each+=を使用したり、連結に演算子を使用したり、次のようなメソッドチェーンを使用したりするなど、コードの読みやすさを向上させます。ar thelm = $(newcommhtml).hide().appendTo('#spscrl').fadeIn('slow');

$.each(data.shareInfo, function(i, v) {
    var newcommhtml = '<div id="S0' + thecid + '" class="snew">';
    newcommhtml += '<div class="author-image"><img src="data:image/jpeg;base64,'
            + v.senderPicture
            + '" alt="'
            + v.uname
            + '" width="100%" height="100%" class="ava"></div><span>'
            + v.uname
            + ' shared the image ' + v.imname + '</span>';
    newcommhtml += '<div class="s-content"><div class="s-message"><span>'
            + nl2br(v.message + '</span></div><div class="shpicture">');
    newcommhtml += '<img src="data:image/jpeg;base64,' + v.image + '" alt="'
            + v.imname + '" width="100%" height="100%" data-id="' + v.id
            + '" data-alid="' + v.alid + '" data-shareid="' + v.shareId + '">';
    newcommhtml += '</div></div>';

    $('#spscrl').append(newcommhtml);

    var thelm = $(newcommhtml).hide().appendTo('#spscrl').fadeIn('slow');

    newcommhtml = '<div class="SPcommentbox">';
    newcommhtml += '<div class="comment"><div class="commenter-image">';
    newcommhtml += '</div><div class="commentername">';
    newcommhtml += '</div><div class="addcomment"><input type ="text" placeholder="Write a comment..." class="commentbox"></input></div></div>';
    $(newcommhtml).appendTo(thelm);
    thecid++;
});

var newcommhtml2回使用したり使用したりする必要はありませんnewcommhtml=null

于 2013-03-04T15:40:34.830 に答える