我正在尝试从选择器匹配数组中调用项目上的attr(),但它告诉我该方法不存在。我想我需要施放数组项,但我找不到如何做到这一点。
$("input:radio[id$=Product]")[0].attr('checked', true);
错误是“对象不支持属性或方法'attr'”。
答案 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")