如何用jQuery选择器获取selectedIndex为0的空下拉框?
解决jQuery选中selectedIndex为0的下拉框并设置索引的问题
好问题!你遇到的核心问题是混淆了HTML属性(attribute)和DOM元素属性(property)的区别——selectedIndex是DOM元素的property,而不是HTML标签上的attribute,所以你尝试的$(".ddl[selectedIndex='0']")这种属性选择器自然不会生效,因为jQuery的属性选择器只能匹配HTML标签上实际存在的属性(比如class、id、value这些写在标签里的)。
那怎么直接筛选出selectedIndex为0的下拉框呢?用jQuery的.filter()方法就可以完美解决,它允许你通过自定义逻辑来筛选DOM元素,直接访问元素的property:
// 筛选出所有class为ddl且selectedIndex为0的下拉框,然后设置它们的selectedIndex为2 $(".ddl").filter(function() { return this.selectedIndex === 0; }).prop('selectedIndex', 2);
补充说明:
- 这里的
this指向当前遍历的DOM元素,直接访问this.selectedIndex比用jQuery包装后再取属性更高效。 - 如果你的“空下拉框”是指第一个选项(索引0)的内容为空(比如
<option value="">请选择</option>),你也可以结合选项的value或文本内容来筛选,比如:
不过根据你的需求,直接判断$(".ddl").filter(function() { return $(this).val() === ''; // 匹配值为空的选中项 }).prop('selectedIndex', 2);selectedIndex是最精准的方式。
内容的提问来源于stack exchange,提问作者Chrᴉz remembers Monica
相关产品推荐
相关产品推荐

