首页 > 解决方案 > 用于获取文本并相应更改 div 样式的 Jquery 函数

问题描述

我正在尝试获取 div 中的数字(由服务器生成)并相应地对 div 进行更改(所以基本上如果数字> = 4,进度条将是绿色的,标题为'superb',如果> = 3 <4,橙色标题为“好”等的进度条。)。

js:

var scores = $("div.progress-bar");
function progressbar_function(){
if (parseInt($(this).text()) >= 4){
$(this).addClass("bg-success");
$(this).text('Superb');
} else if(parseInt($(this).text()) >= 3) {
$(this).addClass("bg-warning");
$(this).text('Good');
}
};
$.each(scores, function(index, item) {
$(item).change(progressbar_function);
});

html

  <ul class="list-group festival-list">
                  <li class="list-group-item">
                    <span class="float-left"><span class="ec ec-banana"></span> Vegan friendly:</span>
                    <div class="progress float-right" style="width: 50%; height: 22px;">
                      <div class="progress-bar" role="progressbar" style="width: {% widthratio vegan_friendly_avg 5 100 %}%" aria-valuenow="{{vegan_friendly_avg|default_if_none:"No reviews yet"}}" aria-valuemin="0" aria-valuemax="5">{{vegan_friendly_avg|floatformat:2|default_if_none:"No reviews yet"}}</div>
                    </div>
                  </li>
                  <li class="list-group-item">
                    <span class="float-left"><span class="ec ec-coffee"></span> Coffea quality:</span>
                    <div class="progress float-right" style="width: 50%; height: 22px;">
                      <div class="progress-bar" role="progressbar" style="width: {% widthratio coffea_quality_avg 5 100 %}%" aria-valuenow="{{coffea_quality_avg|default_if_none:"No reviews yet"}}" aria-valuemin="0" aria-valuemax="5">{{coffea_quality_avg|floatformat:2|default_if_none:"No reviews yet"}}</div>
                    </div>
                  </li>
.
.
.
</ul>

它不起作用,我做错了什么?:(

标签: javascriptjquerybootstrap-4

解决方案


试试这个

$(function () {
    $("div.progress-bar").each(function () {
        if (parseInt($(this).text()) >= 4) {
            $(this).addClass("bg-success");
            $(this).text('Superb');
        } else if (parseInt($(this).text()) >= 4) {
            $(this).addClass("bg-warning");
            $(this).text('Good');
        }
    });
});

https://jsfiddle.net/x1yhctad/3/


推荐阅读