两个相同的选择框
<select class="select">
<option>- OPTION -</option>
<option>1</option>
<option>1</option>
</select>
<select class="select">
<option>- OPTION -</option>
<option>1</option>
<option>1</option>
</select>
将- OPTION -
替换为- SELECT -
$(".select option:first").text("- SELECT -");
上面的代码仅替换第一个选择框,而忽略第二个选择框。为什么?如何申请全部/任何?
答案 0 :(得分:8)
:first
将仅选择组合在一起的所有选项的第一个元素。
:first-child
将选择所有作为其父项的第一个孩子的元素。
$(".select option:first-child").text("- SELECT -");
有关速度的更新
下面,用户@kosmos建议使用.find()
。与使用:first-child
相比,此方法的性能要差得多。一些开发人员通常对性能不会三思而后行,因为它仍然非常快,但是它们可以累加起来。现在您知道存在更快的方法来达到相同的结果,所以我建议您使用此知识。
这是我用来确认的测试用例:http://jsperf.com/find-versus-first-child
答案 1 :(得分:2)
尽管其他答案都是有效的,但您也可以输入
$(".select").find("option:first").text("- SELECT -");
获取所有.select
元素,并为每个元素获取第一个option
子元素。
答案 2 :(得分:1)
您可以尝试以下代码
$(".select option:first-child").text("- SELECT -");