Javascript 使用jQuery更改选项的文本
如何使用jQuery更改选项的文本 我想将选项中的最新与最旧更改为Javascript 使用jQuery更改选项的文本,javascript,jquery,select,replace,option,Javascript,Jquery,Select,Replace,Option,如何使用jQuery更改选项的文本 我想将选项中的最新与最旧更改为元素 $('select option:contains("Newest")').changeText('Oldest'); .replaceWith对我不起作用 谢谢 ----更新---- 如果我的脚本如下所示: $('select option:contains("Newest")').text('Oldest'); $('select option:contains("Oldest")').text('Newest');
元素
$('select option:contains("Newest")').changeText('Oldest');
.replaceWith
对我不起作用
谢谢
----更新----
如果我的脚本如下所示:
$('select option:contains("Newest")').text('Oldest');
$('select option:contains("Oldest")').text('Newest');
然后我取消了第一个脚本,然而,这不是我想要的。我有两个选项,一个是“最新的”,我想用“最旧的”替换,另一个是“最旧的”,我想用“最新的”替换。我怎样才能做到这一点
$('select option:contains("Newest")').each(function(){
var $this = $(this);
$this.text($this.text().replace("Newest","Oldest"));
});
编辑:新问题的答案:
var $newest = $('select option:contains("Newest")');
$('select option:contains("Oldest")').text('Newest');
$newest.text('Oldest');
你应该开始一个新问题,但以下是答案:
$('select option:contains("Newest")').text('TEMPEST');
$('select option:contains("Oldest")').text('Newest');
$('select option:contains("TEMPEST")').text('Oldest');
演示:更改所选选项的文本:
$(“#选择”).find(“选项:已选择”).text(“最新”) 您可以通过一个简单的脚本来完成
$("option[value=optionvalue]").html('New text');
不适合你?你的语法被破坏了。您在哪里找到
.changeText
方法?@amnotiam它是一个占位符,用于显示我试图实现的内容@XavierHolt指出的方法,但通过删除内部单引号、将其更改为双引号或转义来修复语法。@amnotiam是,我处理好了…这是一个不必要的dom第三次查询。创建jquery对象后,它将维护在创建时匹配的元素列表。在修改之前,只需将jquery对象保存到变量。无需额外查询时间。您只需查询DOM 4次,而只需查询两次。创建jquery对象后,它将维护在创建时匹配的元素列表。在修改之前,只需将jquery对象保存到变量。不需要额外查询2次,也不需要添加和删除类。不幸的是,这对我来说不起作用,尽管我更愿意这样做
$("#mySelect option").html(function(i,str){
return str.replace(/Newest|Oldest/g, // here give words to replace
function(m,n){
return (m == "Newest")?"Oldest":"Newest"; // here give replacement words
});
});
$("option[value=optionvalue]").html('New text');