$(this)jQueryUI Spinner'undefined'错误

时间:2013-02-23 23:00:23

标签: jquery-ui

我正在尝试在修改值时更改微调控件的背景颜色。

我有以下代码:

<h2>SpinnerTest</h2>
<input id="spinner1" type="spinner" value="5" />
<input id="spinner2" type="spinner" value="10" />

<script type="text/javascript">
    //Line1:  $("input[type='spinner']").spinner({ min: 0, max: 25, stop: function () { alert(this.id); } });
    //Line2:  $("input[type='spinner']").spinner({ min: 0, max: 25, stop: function () { alert($(this).id); } });
</script>

当我使用Line1时,我得到一个具有正确微调控件ID的警报。但是,当我使用Line2时,我会收到“未定义”的警报。

最终,我想在spinner元素上调用toggleClass()。因此我为什么要使用$(this)。

我对jQuery比较陌生 - 有人可以帮忙解释为什么$(这个)不起作用吗?

1 个答案:

答案 0 :(得分:1)

.id不是jquery对象的有效属性。要获取元素的ID,请使用.attr()$(this).attr("id")

.attr()方法(如果只提供一个参数)获取相应属性的值。如果提供了第二个参数,它会将该值更改为提供的第二个参数。