【问题标题】:How can we run If else statement inside JQuery Append Function.?我们如何在 JQuery Append Function 中运行 If else 语句。?
【发布时间】:2015-09-03 10:20:16
【问题描述】:

这是我的附加函数,我想在其中运行 if else 语句。数据以json格式传入。

$('#allproduct')
   .append('
    <div class="add-to-cart">'+if(item.quantity >0){+'<a class="item'+item.id+'" title="Add to Cart" href="javascript:void(0)">
    Add to Cart
    </a>'+}else{+'
   a class="item'+item.id+'" title="Add to Cart" href="javascript:void(0)">
   SOLD OUT
    </a>'+}+'
    </div>');

【问题讨论】:

  • 为什么要在 append 中运行 if elese 语句。在 var 中准备 html,然后附加该 var
  • 如果在哪里?你不能发布一个最小的例子吗?
  • 另外,您在问题中添加了php 标签。为什么不能在服务器端做呢?

标签: php jquery ajax json


【解决方案1】:

你可以只声明一个 html 变量,随心所欲地构建它,然后将它传递给 append 函数。

但是,如果您坚持在字符串的构建中使用if 条件,您可以使用ternary condition 作为:

.append('< some html >' +
        (item.quality > 0 ? 'a possibility' : 'another possibility') +
        '</some html>');

如果质量>0,&lt;some html&gt; 将包含a possibility,如果条件为假,则包含another possibility

适应您的情况:

$('#allproduct').append(
   '<div class="add-to-cart">'+
   ( item.quantity >0 ? 
        '<a class="item'+item.id+'" title="Add to Cart" href="javascript:void(0)">
             'Add to Cart' +
        '</a>' 
   :
        '<a class="item'+item.id+'" title="Add to Cart" href="javascript:void(0)">
             'SOLD OUT' +
        '</a>' 
    ) +
</div>');

【讨论】:

  • 'html'+if(item.quantity&gt;0){+'&lt;a class="item'+item.id+'" title="Add to Cart" href="javascript:void(0)"&gt;Add to Cart&lt;/a&gt;'+else{+'&lt;a class="item'+item.id+'" title="Add to Cart" href="javascript:void(0)"&gt;Sold Out&lt;/a&gt;'}'html' ** 这就是你的意思吗?**
  • 不,你不能在连接过程中使用if-else
  • 我将此代码添加到一个按钮中,它可以工作。谢了哥们。 '
【解决方案2】:

你可以先构建 HTML 字符串,然后追加:

var htmlStr = '...';
if(condition) htmlStr += '...';
...

$('#allproduct').append(htmlStr);

【讨论】:

猜你喜欢
  • 2017-10-10
  • 2012-10-05
  • 1970-01-01
  • 2017-09-11
  • 2013-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多