无ID时如何获取多个select元素的option长度?
解决多个无ID的select元素的option数量统计问题
你当前代码里的$(this).length返回的是遍历到的单个select元素的集合长度,所以每次都是1。要获取对应select下的option数量,需要针对当前select的子元素option进行统计:
修改后的jQuery代码
$('#severalStores').find('.selectLimitInformation').each(function () { // 获取当前select下的option数量 console.log($(this).find('option').length); });
更高效的原生JS写法
如果想减少jQuery调用,也可以直接用原生DOM属性:
$('#severalStores').find('.selectLimitInformation').each(function () { // 原生DOM的options属性直接包含所有option,取length即可 console.log(this.options.length); });
额外需求:获取所有select的option总数
如果不需要逐个统计,而是要所有select下的option总数量,可以直接链式查找,不用遍历:
console.log($('#severalStores .selectLimitInformation option').length);
内容的提问来源于stack exchange,提问作者rd1218
相关产品推荐
相关产品推荐

