我有一个项目,我需要从多个容器中复制文本并添加其他容器。 具体来说,我在HTML页面上的一个地方有多个问答文本,我需要复制文本并将其放在页面上不同的相应位置。 我已经设置了一个codepen来更好地解释我需要的东西(使用4个问题演示但在项目中我有20个问题): https : //c ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试获取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>
它不起作用,我在做什么错? :(
尝试这个
$(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');
}
});
});
var scores = $("div.progress-bar");
function progressbar_function($item) {
if (parseInt($item.text()) >= 4) {
$item.addClass("bg-success");
$item.text('Superb');
} else if (parseInt($(this).text()) >= 3) {
$item.addClass("bg-warning");
$item.text('Good');
}
};
$.each(scores, function (index, item) {
progressbar_function($(item));
});
此代码应该起作用。 您的代码的问题在于,没有div的have change事件不会触发任何change事件,因此应在加载脚本时初始化progressbar样式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.