You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问特定div并获取其中select的选项?代码无返回值求解

问题分析与解决方案

你的问题出在jQuery选择器的写法错误上,$('#navbar-left > div[2]')这种写法是不对的——[2]是属性选择器的语法,它会去寻找带有2这个属性的<div>元素,而不是第二个子div。jQuery里要选择第N个子元素,得用专门的索引选择器。

下面给你几种正确的写法,都能拿到目标<select>里的所有<option>:

方法1:使用:eq()索引选择器(jQuery专属,索引从0开始)

:eq(index)会匹配指定索引位置的元素,因为第二个div的索引是1(第一个是0),所以可以这么写:

// 先拿到目标select,再获取里面的option
var countries = $('#navbar-left > div:eq(1) > select.nav-select');
var options = countries.find('option');

// 或者一步到位直接选option
var options = $('#navbar-left > div:eq(1) > select.nav-select > option');

方法2:使用:nth-child()选择器(CSS标准语法,索引从1开始)

:nth-child(n)是CSS原生的选择器,它匹配父元素的第n个子元素,这里第二个div就是:nth-child(2):

var options = $('#navbar-left > div:nth-child(2) > select.nav-select > option');

方法3:利用类名直接定位(更简洁可靠)

因为目标<select>有nav-select类,而且它的父div是custom-dropdown,你也可以跳过索引,直接通过类名链式选择,这样结构变动时更不容易出错:

var options = $('#navbar-left .custom-dropdown:nth-child(2) .nav-select option');
// 或者如果只有一个带nav-select的select在navbar-left里,甚至可以更简单:
var options = $('#navbar-left .nav-select option');

最后验证一下:拿到options之后,你可以用console.log(options.length)看看是否获取到了正确数量的option元素。

内容的提问来源于stack exchange,提问作者Soleil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:30:56