繁体   English   中英

使用 jQuery 更改选项的文本

[英]Change the Text of a Option with jQuery

如何使用 jQuery 更改选项的文本?

我想在一个选项中将 Newest 与 Oldest 更改为<select>元素。

$('select option:contains("Newest")').changeText('Oldest');

.replaceWith对我不起作用。

谢谢。

- - 更新 - -

如果我的脚本如下所示:

$('select option:contains("Newest")').text('Oldest');
$('select option:contains("Oldest")').text('Newest');

然后我取消了第一个脚本,但是,这不是我想要的。 我有两种选择,一种是“最新”,我想用“最旧”替换,另一种是“最旧”,我想用“最新”替换。 我怎样才能做到这一点?

您应该提出一个新问题,但答案如下:

$('select option:contains("Newest")').text('TEMPEST');
$('select option:contains("Oldest")').text('Newest');
$('select option:contains("TEMPEST")').text('Oldest');
$('select option:contains("Newest")').each(function(){
   var $this = $(this);

   $this.text($this.text().replace("Newest","Oldest"));    
});​

http://jsfiddle.net/eSa5p/

编辑:回答新问题:

var $newest = $('select option:contains("Newest")');

$('select option:contains("Oldest")').text('Newest');
$newest.text('Oldest');

http://jsfiddle.net/eSa5p/3/

$("#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
     });
});

演示: http : //jsfiddle.net/diode/eSa5p/2/

更改所选选项的文本:

$("#select").find("option:selected").text('Newest');

你可以通过一个简单的脚本来做到这一点

$("option[value=optionvalue]").html('New text');
$('select option:contains("Newest")').addClass('changeToOldest');
$('select option:contains("Oldest")').addClass('changeToNewest');
$('.changeToOldest').text('Oldest').removeClass('changeToOldest');
$('.changeToNewest').text('Newest').removeClass('changeToNewest');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM