好像我不能使用||在我的 Jquery 脚本中进行一些比较。到目前为止我所拥有的是
var originaltext = [];
var novice = 'Novice'
var intermediate = 'Intermediate'
var expert = 'Expert'
// Changes text on hover
$(function() {
$('.skillsDouble li').hover(function(){
originaltext[$(this).index('.skillsDouble li')] = $(this).text();
if(originaltext[$(this).index('.skillsDouble li')] == 'Selenium') {
$(this).text(expert);
}
else if(originaltext[$(this).index('.skillsDouble li')] == 'CSS') {
$(this).text(intermediate);
}
else {
$(this).text(novice);
}
},
function(){
$(this).text( originaltext[$(this).index('.skillsDouble li')]);
});
});
因此,一个简单的函数将获取我悬停的文本,并将其与我给它的字符串进行比较,根据给定的字符串,它会在悬停时输出不同的字符串。我失败的地方(你可能会看到更多,也许一些重构会更有效)是 comapring 多个刺痛
所以当我尝试这个
if(originaltext[$(this).index('.skillsDouble li')] == 'Selenium' || 'Jmeter')
该功能将失败,并且所有悬停状态都会显示“新手”文本。
我如何与此语句中的多个字符串进行比较,如果有人有任何有关重构的提示,请分享。
感谢任何帮助
谢谢
最佳答案
if(originaltext[$(this).index('.skillsDouble li')] == 'Selenium' || 'Jmeter')
必须这样写
if(originaltext[$(this).index('.skillsDouble li')] == 'Selenium'
|| originaltext[$(this).index('.skillsDouble li')] == 'Jmeter')
或者更好
var original = originaltext[$(this).index('.skillsDouble li')];
if(original === 'Selenium' || original === 'Jmeter')
不要重复自己总是一个更好的主意。
并尽可能使用 ===
而不是 ==
,因为前者的性能比后者更好。
关于jquery - 使用||在 Jquery 比较中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230490/