如果使用jquery创建的元素内的条件不起作用

时间:2016-04-27 07:11:51

标签: jquery

我想创建一个带有if条件的jquery的html元素,我试过了  以下但它不会工作

 var abc = $('<tr><td>something</td>' +
     '</tr>'+
     if( a==0 ) { +
     '<tr><td class="coordinate" colspan="2">Current Location</td><td      class="chain">Chain Location</td></tr>' +
    }
 );

4 个答案:

答案 0 :(得分:1)

您可以使用Conditional (ternary) Operator

var abc = $('<tr><td>something</td>' +
         '</tr>'+
          (a == 0 ? '<tr><td class="coordinate" colspan="2">Current Location</td><tdclass="chain">Chain Location</td></tr>': '' )) ;

答案 1 :(得分:1)

您不能在字符串中使用if。但是,您可以使用ternary operator ? :

var abc = $('<tr><td>something</td>' +
    '</tr>' +
    (a === 0 ? '<tr><td class="coordinate" colspan="2">Current Location</td><td class="chain">Chain Location</td></tr>' : ''));

这与

相同
if (a === 0) {
    string += 'Soemstring';
} else {
    string += ''; // i.e. add nothing
}

但是,可以在字符串中使用。

答案 2 :(得分:0)

尝试:

$( document ).ready(function() {
    var strToappend = '';
    if( a==0 ) {  
      strToappend += '<tr><td class="coordinate" colspan="2">Current Location</td><td class="chain">Chain Location</td></tr>';
    }
    var abc = '<tr><td>something</td>' + '</tr>' + strToappend;
    alert(abc)
});

答案 3 :(得分:0)

&#13;
&#13;
var abc = '<tr><td>something</td></tr>';
    if( a==0 ) {
        abc += '<tr><td class="coordinate" colspan="2">Current Location</td><td class="chain">Chain Location</td></tr>';
    }
&#13;
&#13;
&#13;

Tri it!