0

我试图在同一个类下初始化多个进度条,只用一个 jQuery 片段。我希望将值设置为 HTML 属性“值”。

这是html:

<div class="pop" value="98"></div>
<div class="pop" value="85"></div>
<div class="pop" value="78"></div>
<div class="pop" value="54"></div>

这是我认为可行的jQuery :

$( ".pop" ).progressbar({
value: parseInt($(this).attr("value"))
});

但它没有。进度条出现,但它们看起来好像它们的值是 0。

如果我将其更改为:

$( ".pop" ).progressbar({
value: parseInt($(".pop").attr("value"))
});

然后它们都被初始化,但它们的所有值都设置为第一个 HTML 元素的值(在本例中,它们都将设置为 98)。我预料到了这一点。

那么有没有办法做到这一点?

4

3 回答 3

5

您想使用 jQuery.each 函数。这是一个例子:

$.each($(".pop"), function() {
    $(this).progressbar({ value: parseInt($(this).attr("value")) });
});

替代示例:

$(".pop").each(function() {
    $(this).progressbar({ value: parseInt($(this).attr("value")) });
});
于 2012-09-07T04:00:45.807 回答
1

我将遍历每个 div 以确保它获取正确的“值”属性,因为$(this)在您的第一个示例中没有像this该上下文中的 Window 对象那样为您提供任何东西。

$('.pop').each(function(index) {
    $(this).progressbar({
        value: parseInt($(this).attr("value"))
    });      
});
于 2012-09-07T04:01:05.153 回答
-2

您必须设置 value 属性:

var progressBar = $('#progressBar');
var v = 70;
progressBar.arrt('value', v);
于 2015-07-08T15:12:14.207 回答