用 jQuery 替换相同结构中的不同单词
Replace different words in the same structure with jQuery
我在这里找到了用 jQuery 替换单个单词的解决方案。该解决方案通常对我有用,但是否可以将其缩短一点?这是代码:
$(document).ready(function() {
$('.who').text(function(i, oldText) {
return oldText === 'Dritter' ? 'Ich nehm die Nummer drei' : oldText;
});
$('.who').text(function(i, oldText) {
return oldText === 'Fünfter' ? 'Ich nehm die Nummer 5' : oldText;
});
$('.groupheader').text(function(i, oldText) {
return oldText === 'Sechster' ? 'i am number six' : oldText;
});
});
对于这个 div
结构:
<div class="who">Erster</div>
<div class="who">Zweiter</div>
<div class="who">Dritter</div>
<div class="who">Vierter</div>
<div class="who">Fünfter</div>
<div class="who">Sechster</div>
您可以通过将所有替换放置在一个对象中来缩短此时间,以要更改的文本为键。然后你可以有一个单行函数,它用对象中的值替换文本,如果找到的话。
var substitutions = {
'Dritter': 'Ich nehm die Nummer drei',
'Fünfter': 'Ich nehm die Nummer 5',
'Sechster': 'i am number six'
}
$('.who, .groupheader').text(function(i, oldText) {
return substitutions[oldText] || oldText;
});
您也可以使用三元运算符以这种方式缩短代码。
代码片段:
$(document).ready(function() {
$('.who,.groupheader').text(function(i, oldText) {
return oldText === 'Dritter' ? 'Ich nehm die Nummer drei' : oldText === 'Fünfter' ? 'Ich nehm die Nummer 5' : oldText === 'Sechster' ? 'i am number six' : oldText;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="who">Erster</div>
<div class="who">Zweiter</div>
<div class="who">Dritter</div>
<div class="who">Vierter</div>
<div class="who">Fünfter</div>
<div class="who">Sechster</div>
我在这里找到了用 jQuery 替换单个单词的解决方案。该解决方案通常对我有用,但是否可以将其缩短一点?这是代码:
$(document).ready(function() {
$('.who').text(function(i, oldText) {
return oldText === 'Dritter' ? 'Ich nehm die Nummer drei' : oldText;
});
$('.who').text(function(i, oldText) {
return oldText === 'Fünfter' ? 'Ich nehm die Nummer 5' : oldText;
});
$('.groupheader').text(function(i, oldText) {
return oldText === 'Sechster' ? 'i am number six' : oldText;
});
});
对于这个 div
结构:
<div class="who">Erster</div>
<div class="who">Zweiter</div>
<div class="who">Dritter</div>
<div class="who">Vierter</div>
<div class="who">Fünfter</div>
<div class="who">Sechster</div>
您可以通过将所有替换放置在一个对象中来缩短此时间,以要更改的文本为键。然后你可以有一个单行函数,它用对象中的值替换文本,如果找到的话。
var substitutions = {
'Dritter': 'Ich nehm die Nummer drei',
'Fünfter': 'Ich nehm die Nummer 5',
'Sechster': 'i am number six'
}
$('.who, .groupheader').text(function(i, oldText) {
return substitutions[oldText] || oldText;
});
您也可以使用三元运算符以这种方式缩短代码。
代码片段:
$(document).ready(function() {
$('.who,.groupheader').text(function(i, oldText) {
return oldText === 'Dritter' ? 'Ich nehm die Nummer drei' : oldText === 'Fünfter' ? 'Ich nehm die Nummer 5' : oldText === 'Sechster' ? 'i am number six' : oldText;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="who">Erster</div>
<div class="who">Zweiter</div>
<div class="who">Dritter</div>
<div class="who">Vierter</div>
<div class="who">Fünfter</div>
<div class="who">Sechster</div>