输入和Id选择器之间有什么区别

时间:2014-07-21 10:19:38

标签: jquery jquery-selectors

$('input[Id="RadioId"]');

$('#RadioId');

我使用RadioId作为两个单选按钮的公共ID,当我使用第一个时,我得到两个jQuery对象,下一个只给我一个对象。 为什么第二个选择器只有两个具有相同Id的对象?

3 个答案:

答案 0 :(得分:0)

ID应该是唯一的所以,你的问题和代码变得错误,但是如果你想到类,

差异:

$('input[class="RadioClass"]');

你可以让input type="text"使用类RadioClass来定位INLY INPUTS不是div或span,

$('.RadioClass');

但这里是$('。RadioClass');你可以定位任何HTML元素,比如简单的div或span。

答案 1 :(得分:0)

这是因为违反了html编码,你的ID是重复的! ID必须是唯一的

当你选择像$('input[id="RadioId"]');时它会返回所有匹配的元素,而$('#RadioId');只返回第一个匹配的元素,因为正如我上面提到的那些ids必须是唯一的,所以jQuery假定应该只有其中一个。

答案 2 :(得分:0)

第一个$('input[Id="RadioId"]');不应用搜索Id的规则,因为它可能是您在此标记中提供的任何属性。例如。您可以搜索课程($('input[class="RadioId"]');)。所以它将返回它找到的所有元素。

第二个$('#RadioId');仅搜索Id。由于Id应该是唯一的,它只返回一个对象,它认为应该只有一个。因此,您只能获得单个对象。