1

我有两个 div<div class="number"></div><div class="label"></div>.

我想设计一个 if/else 语句,这样如果“数字”中的值为 1,它会返回一个标签,例如“用户”,而如果数字是 2 或更高,它会更改为“用户” ”。

有没有办法检查 .number 的值,然后根据它返回标签?

此外,同一页面上将有 5 个“数字”和“标签”实例。每个数字将通过从数据库(Wordpress 自定义字段元)中查询其值来返回。

此外,每个实例的标签都不同,第一个可能是“用户”,而第二个可能是“产品”,等等。

我将如何做我需要的?

这是我的代码示例:

<div class="data-item employees">
     <div class="number"><?php echo $sc_data_employees; ?></div>
     <div class="label"></div>
</div>
<div class="data-item products">
     <div class="number"><?php echo $sc_data_products; ?></div>
     <div class="label"></div>
</div>
4

3 回答 3

1

试试这个:

var users = parseInt($(".number").text(),10);
var label = (users == 1) ? "user" : "users";
$(".label").text(label);

如果用户数不是整数,例如12.3456,使用parseFloat()代替parseInt()

于 2012-05-03T13:56:42.447 回答
1

尝试:

$('.number').each(function(){
    $(this).next('.label').html( ($(this).text()==1)?'user':'users');
});​​​​​​​​

这将遍历类号的所有元素并更改元素标签的下一个实例。根据 div 的排列方式,您可能需要将 .next() 更改为另一个函数。

jsFiddle 示例

更新:根据您的修订,试试这个:

$('.number').each(function(){
    var plural = $(this).parent().attr('class').split(' ')[1];
    var singular = plural.substring(0, plural.length - 1);
    $(this).next('.label').html( ($(this).text()==1)?singular:plural);
});​

jsFiddle 示例

于 2012-05-03T14:02:56.203 回答
0

或者,您可以在使用 PHP 输出到浏览器之前执行此操作。

$number = 1; // The number from your database

$text = ($number == 1) ? "User" : "Users"; //

$output = '<div class="number">{$number}</div>
           <div class="label">{$text}</div>';

echo $output;
于 2012-05-03T14:03:01.023 回答