4

我对javascript相当陌生,我想知道如何让这段代码(更大整体的一部分)做我想做的事。我想将 HTML 添加到短语“购物车中的文章”和“购物车中的文章”中。这可能吗?非常感谢。

我不是指样式(粗体或斜体),这是我希望它返回的内容:

return quantity + (quantity == 1 ? ' 
  article in shopping cart <span class="simpleCart_quantity"></span>- 
 <span class="simpleCart_total"></span>
 <a href="shoppingcart.html">Show</a>' : 
 ' articles in shopping  cart 
  <span class="simpleCart_quantity"></span>-
  <span class="simpleCart_total"></span>
  <a href="shoppingcart.html">Show</a>');

我知道这是不可能的,怎么可能?

quantity: function () {
    var quantity = 0;
    simpleCart.each(function (item) {
        quantity += item.quantity();
    });
    if (quantity == 0) {
        return 'Your shopping cart is empty';
    } else {
        return quantity + (quantity == 1 ? ' article in shopping cart' : ' articles in shopping cart');
    }
},
4

1 回答 1

3

当然这是可能的,尽管调用该函数的函数是否对结果有意义是另一回事。

无论如何,只需根据需要在字符串中包含所需的 html:

return quantity + (quantity == 1 ? ' article <span class="x">in shopping cart</span>' :
                                   ' articles <i>in</i> shopping cart');

编辑:您添加到问题的示例不起作用,因为它有语法错误 - 您的字符串文字包含换行符。通过将每个字符串全部放在一行或连接单个字符串,使其成为有效字符串并且它将起作用:

return quantity + (quantity == 1 ?  
  'article in shopping cart <span class="simpleCart_quantity"></span>- <span class="simpleCart_total"></span> <a href="shoppingcart.html">Show</a>' : 
  'articles in shopping  cart <span class="simpleCart_quantity"></span>- <span class="simpleCart_total"></span> <a href="shoppingcart.html">Show</a>');

如果您使用的字符串之间的唯一区别是“article”末尾是否有“s”,请尝试以下操作:

return quantity + (quantity == 1 ? 'article' : 'articles') +
       ' in shopping cart <span class="simpleCart_quantity"></span>- <span class="simpleCart_total"></span> <a href="shoppingcart.html">Show</a>';
于 2013-11-07T19:54:05.960 回答