javascript - 使用 jQuery 按条件将样式设置为 html 标签

标签 javascript jquery

有如下html,

<em>+5.0</em>
<em>+3.2</em>
<em>-2.4</em>
<em>-4.6</em>

我想根据条件为每个数字设置颜色。 如果数字大于 0,则颜色为红色。 其他人会是蓝色的。输出将是

+5.0 (red color)
+3.2 (red color)
-2.4 (blue color)
-4.6 (blue color)

我如何使用 jQuery 做到这一点?

我尝试过的

if ($('em').text() > 0){
    $(this).css('color', 'red');
}

但是 $('em').text() 不是一个元素,我无法正确应用样式。 我该怎么做?

最佳答案

您需要使用 .each() , 维护this上下文

$('em').each(function(){
    if (+$(this).text() > 0){
        $(this).css('color', 'red');
    }
})

或者,.filter()可以使用。

$('em').filter(function(){
    return +$(this).text() > 0;
}).css('color', 'red')

注意:我使用 + 将文本转换为数字。

关于javascript - 使用 jQuery 按条件将样式设置为 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37108589/

相关文章:

PHP : Carousel Bootstrap CSS

javascript - onAfterRendering 在加载数据 View 之前调用,使用工厂

javascript - 列出未使用 .val 函数显示的字段内容

javascript - 使用 PHP 和 JQuery 创建幻灯片

javascript - 使用 jquery 禁用除当前按钮之外的所有先前创建的按钮

javascript - 更改滚动上的 Bootstrap 轮播幻灯片

javascript - 为什么我的点击没有按预期工作?

javascript - Google map v3 隐藏元素(道路、路标等)

javascript - AJAX - 我的简单 ajax 请求不起作用

javascript - 上传后如何让 swfupload 返回图片 URL?