jQuery UI ProgressBar - 设置值等于HTML属性

kmo*_*y12 0 html jquery jquery-ui

我正在尝试使用一个jQuery片段在同一个类下初始化多个Progressbars.我希望将值设置为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>
Run Code Online (Sandbox Code Playgroud)

以下是我认为可行的jQuery :

$( ".pop" ).progressbar({
value: parseInt($(this).attr("value"))
});
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.出现进度条,但它们看起来好像值为0.

如果我将其更改为:

$( ".pop" ).progressbar({
value: parseInt($(".pop").attr("value"))
});
Run Code Online (Sandbox Code Playgroud)

然后它们都被初始化很好但是它们的所有值都被设置为第一个HTML元素的值(在这个例子中,它们都被设置为98).我期待这个.

那么反正这样做呢?

Wil*_*ams 5

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

$.each($(".pop"), function() {
    $(this).progressbar({ value: parseInt($(this).attr("value")) });
});
Run Code Online (Sandbox Code Playgroud)

替代示例:

$(".pop").each(function() {
    $(this).progressbar({ value: parseInt($(this).attr("value")) });
});
Run Code Online (Sandbox Code Playgroud)