Jquery 选择多个选择元素的每个第一个选项

Jquery 选择多个选择元素的每个第一个选项,jquery,Jquery,我有一个包含多个select元素的html文件。所需要的是使用jQuery更改select元素的每个第一个选项的文本。给出的答案是$('select').children().first().html('changed!')。但这并不会改变所有第一个选项文本,只会改变第一个选项文本 正确的方法是什么?使用.each(): 注意,在这种情况下,您应该使用text(),而不是html(),因为元素的内容应该是纯文本 或者,您可以直接选择第一个选项元素,避免使用children()和first():

我有一个包含多个select元素的html文件。所需要的是使用jQuery更改select元素的每个第一个选项的文本。给出的答案是
$('select').children().first().html('changed!')。但这并不会改变所有第一个选项文本,只会改变第一个选项文本

正确的方法是什么?

使用
.each()

注意,在这种情况下,您应该使用
text()
,而不是
html()
,因为
元素的内容应该是纯文本

或者,您可以直接选择第一个选项元素,避免使用
children()
first()

使用
.each()

注意,在这种情况下,您应该使用
text()
,而不是
html()
,因为
元素的内容应该是纯文本

或者,您可以直接选择第一个选项元素,避免使用
children()
first()

您也可以使用来选择第一个、第二个

要更改所有选定元素的文本,可以使用:

$('select option:nth-child(1)').text('changed');
或:

这是因为jQuery提供了

片段:

$(函数(){
//$('select option:nth child(1)')。文本('changed');
//或
$(“选择选项:第n个子项(1)”).text(函数(索引,文本){
返回“已更改”;
});
});

沃尔沃汽车
萨博
梅赛德斯
奥迪
沃尔沃汽车
萨博
梅赛德斯
奥迪
沃尔沃汽车
萨博
梅赛德斯
奥迪
您也可以使用来选择第一个、第二个

要更改所有选定元素的文本,可以使用:

$('select option:nth-child(1)').text('changed');
或:

这是因为jQuery提供了

片段:

$(函数(){
//$('select option:nth child(1)')。文本('changed');
//或
$(“选择选项:第n个子项(1)”).text(函数(索引,文本){
返回“已更改”;
});
});

沃尔沃汽车
萨博
梅赛德斯
奥迪
沃尔沃汽车
萨博
梅赛德斯
奥迪
沃尔沃汽车
萨博
梅赛德斯
奥迪

Jquery中有两个选项在descant上迭代。您使用了children(),它不递归地表示只考虑直接子代。另一个是find(),它递归地表示所有孙子代都与直接子代一起考虑。我认为如果您按照以下方式更改代码:

$('select').find("option").first().html('changed!');
请不要犹豫问。希望有帮助

您需要迭代所有选择:

$("select").each(function(index,item){
         $(item).find("option").first().html('changed!');
}); 

Jquery中有两个选项可以迭代描述。您使用了children(),它不递归地表示只考虑直接子代。另一个是find(),它递归地表示所有孙子代都与直接子代一起考虑。我认为如果您按照以下方式更改代码:

$('select').find("option").first().html('changed!');
请不要犹豫问。希望有帮助

您需要迭代所有选择:

$("select").each(function(index,item){
         $(item).find("option").first().html('changed!');
}); 

是的,我不知道这本书的作者为什么选择.html来完成这个任务。这不是最好的书!这个解决方案是可行的,但直到现在书中才提到。无论如何,谢谢你!是的,我不知道这本书的作者为什么选择.html来完成这个任务。这不是最好的书!这个解决方案是可行的,但直到现在书中才提到。无论如何,谢谢你!谢谢你的回答,奥斯曼。不幸的是,它没有成功;它只改变了第一个选择的第一个选项,没有改变其他选项。谢谢你的回答奥斯曼。不幸的是,它没有成功;它只改变了第一个选择的第一个选项,没有改变其他选项。哇,这是一个很好的答案!非常感谢。这个也很好用。哇,这是一个很好的答案!非常感谢。这个也很好用。