从选择器匹配数组中对单个项使用attr()的语法

时间:2017-01-13 20:44:52

标签: jquery

我正在尝试从选择器匹配数组中调用项目上的attr(),但它告诉我该方法不存在。我想我需要施放数组项,但我找不到如何做到这一点。

$("input:radio[id$=Product]")[0].attr('checked', true);

错误是“对象不支持属性或方法'attr'”。

2 个答案:

答案 0 :(得分:4)

密切关注此表达式求值的对象类型:$("input:radio[id$=Product]")[0]。它不是jQuery对象,因此它没有任何jQuery方法。

一个解决方案:将其包装在jQuery对象中:

$( $("input:radio[id$=Product]")[0] ).attr('checked', true)

另一种解决方案(我认为更好):使用first()将元素集减少到第一个:

$("input:radio[id$=Product]").first().attr('checked', true)

答案 1 :(得分:0)

问题导致class Ball { constructor(x, y, radius, color) { this.x = x; this.y = y; this.radius = radius this.color=color; } draw(g) { console.log(g.fillStyle); g.fillStyle = this.color; g.beginPath() //g.arc(this.x, this.y, this.r, 0, 2*Math.PI); //correct is below..... g.arc(this.x, this.y, this.radius, 0, 2*Math.PI); g.fill(); } } ,在jquery中你有[0]选项,即 :first,所以也许这就行了。

$("input:radio[id$=Product]:first")