jQuery Selector通配符选择器属性作为对象参数

时间:2015-04-27 03:25:41

标签: javascript jquery jquery-ui

我想在多个元素上使用progressbar UI小部件。我想传递的值是元素的实际属性。我如何实现这一目标?

我尝试了这些但是它们不起作用:

$('[id^=pkg]').progressbar({value: $(this).attr('value')});
$('[id^=pkg]').progressbar({value: $([id^=pkg]).attr('value')});

我的确得到了一个值:

$([id^=pkg]).attr('value')

道歉,但遗失了:

<div id="pkg1" value="30"><div class="progress-label"></div></div>

需要parseInt()。

2 个答案:

答案 0 :(得分:2)

您可能需要一次迭代并启动每个?

$('[id^=pkg]').each(function() {
  $(this).progressbar({value: $(this).attr('value')});
});

选项1无法正常工作,因为this的价值不符合您的预期。

$('[id^=pkg]').progressbar({value: $(this).attr('value')});

答案 1 :(得分:2)

sleep()

顺便说一下,最好使用类名而不是$('[id^=pkg]').each(function() { var $this = $(this); $this.progressbar({ value: $this.attr('value') }); });