我有两个div,<div class="number"></div>
和<div class="label"></div>
。
我想设计一个if / else语句,这样如果“number”中的值为1,它将返回一个标签,例如“User”,而如果该数字为2或更高,则会更改“用户”。
有没有办法检查.number的值,然后根据它返回标签?
此外,同一页面上将有5个“数字”和“标签”实例。通过从数据库(Wordpress Custom Field Meta)查询其值来返回每个数字。
此外,每个实例的标签都不同,第一个可能是“用户”,而第二个可能是“产品”等。
我如何做我需要的?
以下是我的代码示例:
<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>
答案 0 :(得分:1)
试试这个:
var users = parseInt($(".number").text(),10);
var label = (users == 1) ? "user" : "users";
$(".label").text(label);
如果用户数不是整数,例如12.3456
,请使用parseFloat()
代替parseInt()
答案 1 :(得分:1)
尝试:
$('.number').each(function(){
$(this).next('.label').html( ($(this).text()==1)?'user':'users');
});
这将遍历类号的所有元素并更改元素标签的下一个实例。根据div的排列方式,您可能需要将.next()更改为另一个函数。
<强> jsFiddle example 强>
更新:根据您的修订版,试试这个:
$('.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 example 强>
答案 2 :(得分: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;