Jquery 对匹配选择器数组中的单个项使用attr()的语法
我试图对选择器匹配数组中的项调用attr(),但它告诉我该方法不存在。我想我需要强制转换数组项,但我不知道如何执行此操作Jquery 对匹配选择器数组中的单个项使用attr()的语法,jquery,Jquery,我试图对选择器匹配数组中的项调用attr(),但它告诉我该方法不存在。我想我需要强制转换数组项,但我不知道如何执行此操作 $("input:radio[id$=Product]")[0].attr('checked', true); 错误为“对象不支持属性或方法'attr'”。请密切注意此表达式计算结果为的对象类型:$(“输入:radio[id$=Product]”[0])。它不是jQuery对象,因此没有任何jQuery方法 一种解决方案:将其包装在jQuery对象中: $( $("inpu
$("input:radio[id$=Product]")[0].attr('checked', true);
错误为“对象不支持属性或方法'attr'”。请密切注意此表达式计算结果为的对象类型:
$(“输入:radio[id$=Product]”[0]
)。它不是jQuery对象,因此没有任何jQuery方法
一种解决方案:将其包装在jQuery对象中:
$( $("input:radio[id$=Product]")[0] ).attr('checked', true)
另一种解决方案(我认为更好):使用将元素集缩减为第一个元素:
$("input:radio[id$=Product]").first().attr('checked', true)
请密切注意此表达式计算结果的对象类型:
$(“输入:radio[id$=Product]”[0]
。它不是jQuery对象,因此没有任何jQuery方法
一种解决方案:将其包装在jQuery对象中:
$( $("input:radio[id$=Product]")[0] ).attr('checked', true)
另一种解决方案(我认为更好):使用将元素集缩减为第一个元素:
$("input:radio[id$=Product]").first().attr('checked', true)
该问题导致
[0]
,在jquery中,您有:第一个选项,即。
$(“input:radio[id$=Product]:first”)
,所以这可能会奏效
$(“输入:radio[id$=Product]:first”).attr('checked',true)
问题导致[0]
,在jquery中,您有:第一个
选项,即。
$(“input:radio[id$=Product]:first”)
,所以这可能会奏效
$(“输入:radio[id$=Product]:first”).attr('checked',true)代码>$(“输入:radio[id$=Product]:eq(0)”).attr('checked',true);您确定$(“输入:radio[id$=Product]”)与任何内容匹配吗?它看起来像是一个无效的选择器如果元素有一个ID,为什么不直接使用它?@bassxzero-这个选择器很好。问题是,当您向jQuery元素添加[0]
时,它会将对象更改为标准JavaScript元素。普通JS对象不能使用jQuery函数,如show()
、hide()
,或者在本例中是attr()
。OP:如果您试图选择第一个元素,可以使用$(element).first()
,$(“element:first”)
,$(element.eq(0)
,等等@Santi-hmmm我想您需要引用属性选择器,如[id$=“Product”]
,但我猜不是$(“输入:radio[id$=Product]:eq(0)”).attr('checked',true);您确定$(“输入:radio[id$=Product]”)与任何内容匹配吗?它看起来像是一个无效的选择器如果元素有一个ID,为什么不直接使用它?@bassxzero-这个选择器很好。问题是,当您向jQuery元素添加[0]
时,它会将对象更改为标准JavaScript元素。普通JS对象不能使用jQuery函数,如show()
、hide()
,或者在本例中是attr()
。OP:如果您试图选择第一个元素,可以使用$(element).first()
,$(“element:first”)
,$(element.eq(0)
,等等@Santi-hmmm我想您需要引用属性选择器,如[id$=“Product”]
,但我想不是这样