假设我有一个包含3个值的下拉列表(选择标记)。我们的第一个选项的值为“”。第二个选项的值为“something”。第三个选项的值为“其他”。如何获得第二个选项的innerHTML(文本)?我不想硬编码,因此每次都需要第二个选项。我想确保它是第一个带有值集的选项。
答案 0 :(得分:6)
var result = $('#selectId option[value!=""]').first().html();
或:
var result = $('#selectId option[value!=""]:first').html();
描述:选择既没有指定属性,也没有指定属性但没有特定值的元素。
描述:选择第一个匹配的元素。 :第一个伪类相当于:eq(0)。它也可以写成:lt(1)
注意所有<option>
s 必须具有 value
属性才能使选择器按预期工作。如果不能保证,请使用:
var result = $('#selectId option[value!=""][value]:first').html();
描述:选择具有指定属性的元素,具有任何值。
答案 1 :(得分:1)
如果我做对了你想从下拉行程中获得第二个元素>
$('select[name=thename] option:eq(1)').text();
答案 2 :(得分:0)
我喜欢简单,所以我会根据结构给你两种方法。我通常不会按名称选择,因为代码更复杂,而且不需要IMO。
如果HTML只有一个没有id的类:
<select class='example'>
<option value=''>Text 0</option>
<option value='something'>Text 1</option>
<option value='something else'>Text 2</option>
</select>
$('select.example option:eq(1)').text(); // Text 1
如果HTML有id,这是获取文本的最有效方式:
<select id='example'>
<option value=''>Text 0</option>
<option value='something'>Text 1</option>
<option value='something else'>Text 2</option>
</select>
$('#example option:eq(1)').text(); // Text 1