-1

if ステートメントで .append() を使用しようとしていますが、おそらく 10 個ほどあります。私がやろうとしているのは、何かが起こった場合に div に追加することです。A が 5 未満の場合は、div に追加します。.append() は、追加したいものをすべて 1 つの .append() に入れるとうまく機能します。しかし、私がそれを個別にやろうとすると、うまくいきません。何を事前に追加するのかわかりません。それはユーザーデータに依存するため、1 つの .append() に必要なものすべてを追加することはできません。私のコードは長いので、下にフィドルを入れました。私はこのコードに他の問題があるかもしれないことを知っていますが、.append() または私が望むように私の div に追加する方法について尋ねるだけです

if(k3a<5) {
    msg3="need to work on q3" 
    var c = $('<p>'+msg3+'</p>')
    $('#output1').append(c);
    $output1.text(msg3);
}
if(k4a<5) {
    msg4="need to work on q4" 
    var e = $('<p>'+msg4+'</p>')
    $('#output1').append(e);
    $output1.text(msg4);
}
if(k5a<5) {
    msg5="need to work on q5" 
    var e = $('<p>'+msg5+'</p>')
    $('#output1').append(e);
    $output1.text(msg5);
}

以下のようなことができることはわかっていますが、条件が満たされている場合は、一度にではなく、1つずつ追加する必要があります。

if (k1 < 10) {
    msg1 = "This will not space like a want.<br/>";
    msg2 = "I don know why not.<br/>";
    msg3 = "How come.<br/>";
    var e = $('<p>'+msg1+'</p>'+'<p>'+msg2+'</p>'+'<p>'+msg3+'</p>');
    $('#output1').append(e);
}
4

3 に答える 3

1

これは、コードが何をしているのか理解していないようです。$output1(が であると仮定$('#output1)) 現在のコードは (ほんの一部)

msg4="need to work on q4";    // set global variable `msg4`
var e = $('<p>'+msg4+'</p>'); // set local variable `e`
$('#output1').append(e);      // append html to element
$output1.text(msg4);          // re-set content of element as text

あなたはおそらくただ欲しい

var msg4="need to work on q4", // set local variable `msg4`
    e = $('<p>'+msg4+'</p>');  // set local variable `e`
$('#output1').append(e);       // append html to element
于 2013-07-08T22:30:51.843 に答える
0

メッセージを出力する小さな関数を定義する方が簡単な場合があります。何かのようなもの

function showMessage( strMsg, targetID ) {
    $('#'+targetID).empty().append("<p>" + strMsg + "</p>");
}

を使用して呼び出します

showMessage( "message one", "output" );
showMessage( "message two", "output1" ); 

このように、別の方法で表示したい場合は、1 か所で変更するだけで済みます。

于 2013-07-08T22:37:39.653 に答える
0

とは$output1? これは変数である必要がありますが、何も割り当てません。また、または変数$()に割り当てるためだけに HTML を配置するために使用する必要はありません。コンテンツを取得します。次のように文字列を作成するだけです。ce$()

var c = '<p>'+msg3+'</p>';

私がvar e, cそれを再利用するつもりなら、私は何よりもあなたのコードを持っているvarでしょうmsg3. 私のコードには、次のようなものが含まれます。

var out1 = $('#output1');
if(k3a<5)out1.append('<p>need to work on q3</p>');
if(k4a<5)out1.append('<p>need to work on q4</p>');
if(k5a<5)out1.append('<p>need to work on q5</p>');

jsFiddle ページのコードは異なります。たとえば、k3a存在しません。var totalコード内で再定義しないでください。コードにはさらに問題がある可能性がありますが、これで正しい道に進むはずです。

于 2013-07-08T22:51:39.210 に答える