0

我有一个简单的跨度,里面有一个数字:

<span id="MessageLabel">@Model.MessageCount</span>

如果值为0,如何隐藏数字,如果值大于0,如何显示数字?

这是我到目前为止所拥有的:

function loadMessageCount() {

    $('#MessageLabel')

        if ($(item.val()) <= 0) {
             $('#MessageLabel').hide();
        } 
}

我可能还需要通过 ajax 执行此操作,因为每次该数字更改时页面都不会加载。是否也可以这样做?

4

3 回答 3

2

你很接近:

function loadMessageCount() {    
    var item = $('#MessageLabel')    
        if (parseInt(item.text()) <= 0) {
             item.hide();
        } 
}
于 2013-03-26T15:47:41.337 回答
1

您首先要分配$('#MessageLabel')给名为的变量item

var item = $('#MessageLabel');

spans没有values.val()用于拉取值。在这里你想使用.text()

...
if (item.text() <= 0) { ... }

您首先要确保这是一个整数,但是,使用parseInt()

...
if (parseInt(item.text()) <= 0) { ... }

您可能想查看官方 jQuery 教程:http ://try.jquery.com :-)

如果数字大于 1,如何将文本的颜色更改为红色?

if (parseInt(item.text()) > 1) {
    $(this).css({
        'color': '#f00';
    });
}
于 2013-03-26T15:49:05.427 回答
1

你可以做 :

if(parseInt($('#MessageLabel').text()) > 0)
{
    $('#MessageLabel').show()
}
else
{
    $('#MessageLabel').hide();
}
于 2013-03-26T15:51:05.717 回答