首页 > 解决方案 > 为什么 $('input[name="ShowAvatarRdo"][value="true"]') 和 $('input[name="ShowAvatarRdo"]) 是不同的?

问题描述

我使用JQuery通过两种方式获取相同的元素,$('input[name="ShowAvatarRdo"][value="true"]') 并且$('input[name="ShowAvatarRdo"])[0],这是控制台中的结果

$('input[name="ShowAvatarRdo"][value="true"]')
r.fn.init [input#test, prevObject: r.fn.init(1)]
$('input[name="ShowAvatarRdo"]')[0]
<input type=​"radio" name=​"ShowAvatarRdo" id=​"test" value=​"true" checked=​"checked">​

结果的类型似乎不同,为什么?

标签: jquery

解决方案


如果您只有一个复选框,则选择器input[name="ShowAvatarRdo"]input[name="ShowAvatarRdo"][value="true"]返回的元素数组相同。

在第一种情况下,您获取整个数组,在第二种情况下,您获取第一个元素。

如果你把[0]两者都放在后面,你会得到完全相同的结果,或者如果你不取第一个元素,你会得到整个数组(1个元素)的两倍:)


推荐阅读