JQueryを使用してオプションのテキストを変更するにはどうすればよいですか?
オプションの<select>
要素の[新しいもの]と[古いもの]を変更したいと思います。
$('select option:contains("Newest")').changeText('Oldest');
.replaceWith
は機能しません。
ありがとう。
スクリプトが次のようになっている場合:
$('select option:contains("Newest")').text('Oldest');
$('select option:contains("Oldest")').text('Newest');
その後、最初のスクリプトをキャンセルしますが、それは私が望んでいるものではありません。 「最新」と読み替える「最新」と「最新」と読み替える「最新」という2つのオプションがあります。どうすればそれを達成できますか?
新しい質問を開始する必要がありますが、答えは次のとおりです。
$('select option:contains("Newest")').text('TEMPEST');
$('select option:contains("Oldest")').text('Newest');
$('select option:contains("TEMPEST")').text('Oldest');
$("#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
});
});
選択したオプションのテキストを変更します。
$( "#select")。find( "option:selected")。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")').addClass('changeToOldest');
$('select option:contains("Oldest")').addClass('changeToNewest');
$('.changeToOldest').text('Oldest').removeClass('changeToOldest');
$('.changeToNewest').text('Newest').removeClass('changeToNewest');