javascript - Jquery 根据数字内容更改对象的 CSS 类

标签 javascript jquery html css

将动态输出百分比 0-100%

想要添加基于百分比的 CSS 类。红色代表 0%,蓝色代表 100%。

标记为

<span class="blue">100%</span>

本来我是这么想的....

$("span:contains('100%')").css("color", "#0000ff");

但仅包含搜索第一个整数并对 1,2,3,4,5,6,7,8,9 应用不同的类 这种方法的唯一问题是单个数字将被视为与双数相同。 IE 7% 和 70% 将具有相同的类并且不正确。

这些不是具体的数量,它们会一直动态变化。我不太擅长编写自己的 jquery,因此不胜感激。

最佳答案

演示: http://jsfiddle.net/JAAulde/GJh3j/

如果页面上有很多元素,包含将是一个非常昂贵的查询。 我会:

为所有元素添加一个类:

<span class="percent-holder">100%</span>
<span class="percent-holder">100%</span>
<span class="percent-holder">0%</span>
<span class="percent-holder">100%</span>

找到所有这些元素,分析它们的文本,做你想做的:

$( '.percent-holder' ).each( function()
{
    var $this = $( this ),
        classToAdd = null;

    switch( $this.text() )
    {
        case '100%':
            classToAdd = 'blue';
            break;

        case '0%':
            classToAdd = 'red';
            break;
    }

    if( classToAdd !== null )
    {
        $this.addClass( classToAdd );
    }
} );

关于javascript - Jquery 根据数字内容更改对象的 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284408/

相关文章:

javascript - 在 jQuery 中反转 $.each 输出

jquery - 如何填充选择选项或下拉列表值加 4?

java - 将MouseListener添加到程序中

javascript - 为什么 javascript 的 "in"运算符在测试不包含 0 的数组中是否存在 0 时返回 true?

javascript - Angularjs-我们如何通过动态ng-model名称以及任何更改过滤元素值来观察ng Repeat中的动态元素?

javascript - IE8 无法识别输入文本框

html - 限制html中嵌入元素的输出

html - 图像上的框阴影?

javascript - 内部异步函数完成运行后如何调用外部函数返回?

javascript - 单击即可打开多个链接