如何访问复选框数组的第一个元素而不使用每个元素
How to access the first element of the checkbox array without using each?
我有一个Jquery事件,它将收集选中的复选框列表,我目前正在通过尝试逐个访问它们来试验它们的行为。
$('#sub').click(function () {
var cb = $("input[type='checkbox']:checked");
var count = cb.length;
alert(cb[0].prop('checked'));
if (count == 0) {
alert('No subjects selected');
return false;
} else {
return confirm(count + " row(s) selected, proceed?");
}
});
由于某些原因,直接访问cb
无法工作。
我需要这样做:
cb.each(function (i) {
alert($(this).prop('checked'));
});
但是,当我只需要数组的第一个元素时,这将要求我循环遍历所有元素,以查看它是否为真。
有没有什么方法,谁能告诉我为什么我的第一个方法不起作用?我尝试使用for loop
,但没有运气
你要做的是检查是否至少有一个项目被选中,因为cb
只检查项目,你可以检查集合是否至少有一个项目,如
$('#sub').click(function () {
var cb = $("input[type='checkbox']:checked");
if (!cb.length) {
alert('No subjects selected');
return false;
} else {
return confirm(count + " row(s) selected, proceed?");
}
您可以使用 eq()
alert(cb.eq(0).prop('checked'));
或cb[0]
将返回dom对象
alert(cb[0].checked);
Ref: https://learn.jquery.com/using-jquery-core/faq/how-do-i-pull-a-native-dom-element-from-a-jquery-object/
This:
var cb = $("input[type='checkbox']:checked");
不返回单个元素,它可能返回多个元素。
这将针对第一个选中的复选框:
var cb = $("input[type='checkbox']:checked:first");
无论状态如何,这将针对第一个复选框:
var cb = $("input[type='checkbox']:first");
相关文章:
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- Javascript:表单验证getElementById仅返回第一个id元素
- 使用jquery选择元素附近的第一个h2
- 在jQuery中,如何测试一个元素是否是同一类的多个元素中的第一个
- 只获取HTML元素的第一个类
- 如果第二个 html 元素位于第一个 html 元素上方,如何移动该元素
- 使用 querySelectorAll 获取具有该类名的所有元素,而不仅仅是第一个
- 在 javascript 中创建第二个 html 元素会删除第一个
- 如何停止在第一次按下回车键时触发第一个 onclick 事件的元素
- 获取列表中的第一个 DOM 元素
- 第一个jQuery插件-如何以正确的方式保存关联元素数据
- 如何使用Jquery选择第一个td元素及其文本
- 如何获取在视口中可见的第一个DOM元素
- 不要使用jquery选择第一个li元素
- 获取href不仅是第一个,而且是所有匹配的元素
- 如何编写一个选择器来查找第一个“输入”.在类为“x”的元素之后
- 向元素添加另一个类,但作为第一个类
- jQuery + CSS:如何检测第一个“移出”将光标移出元素
- 我如何从最接近的'tr'的第n个元素获得一个值
- Jquery删除所有的第一个span元素