在 if 语句中使用 .append()

Using .append() in if statments?

本文关键字:append if 语句      更新时间:2023-09-26

我正在尝试将.append((与if语句一起使用,我有很多,可能是10个。我想做的是在发生什么事时添加到div。如果 A 小于 5,我想添加到div,依此类推。.append(( 如果我把我想添加的所有东西都放在一个 .append(( 中,对我有用。但是如果我尝试单独做,它对我不起作用。我不知道我将添加什么时间头,这取决于用户数据,所以我无法在一个 .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);
}

我知道我可以做下面这样的事情,但如果满足条件,我需要一一添加它们,而不是一次添加。

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);
}
  • http://jsfiddle.net/G24aQ/21/

这看起来你不明白代码在做什么;(假设$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

什么是$output1?这应该是一个变量,但你没有给它分配任何东西。此外,没有必要仅仅为了将 HTML 分配给您的ce变量而使用 $() 将 HTML 放入其中。 $()得到内容。你只需要创建一个字符串,比如:

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。您的代码可能会有更多问题,但这应该使您走上正确的道路。

您可能会发现定义一个小函数来输出消息更容易。

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

并调用它

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

这样,当您决定要以另一种方式显示它们时,只需在一个位置更改它。