Jquery Javascript将if语句变成case语句不起作用
我正在使用 Jquery。这个 if 语句有效:
if ($(this).siblings(".numOfMatchedKeywords").text() == 1) {
$(this).siblings(".numOfMatchedKeywords").css({'color':'#0099ff'})
}
但是当我尝试将它变成 switch case 时,我无法让它工作:
var numWord = $(this).siblings(".numOfMatchedKeywords").text();
switch (numWord){
case 1:
numWord.css({'color':'#0099ff'})
break;
case 2:
numWord.css({'color':'#33cc33'})
break;
case 3:
numWord.css({'color':'#ff0099'})
break;
}
我做错了什么?
i'm using Jquery. This if-statement works:
if ($(this).siblings(".numOfMatchedKeywords").text() == 1) {
$(this).siblings(".numOfMatchedKeywords").css({'color':'#0099ff'})
}
But when i tried to turn it into a switch case, I can't get it to work:
var numWord = $(this).siblings(".numOfMatchedKeywords").text();
switch (numWord){
case 1:
numWord.css({'color':'#0099ff'})
break;
case 2:
numWord.css({'color':'#33cc33'})
break;
case 3:
numWord.css({'color':'#ff0099'})
break;
}
what am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
parseInt()
另外,
numWord
是文本而不是 jQuery 对象。use
parseInt()
Also,
numWord
is text and not a jQuery object.压缩版本:
Compacted version:
我猜测 if 语句对 .text() 和 1 执行一些自动转换,并使字符串和整数相等,而 switch 语句则执行相当于 === 的操作。
不能保证上述内容,但我建议尝试:
'case "1":
instead of
case 1:`另外,您将 css 应用到
numWord
,您将其设置为等于元素的文本,而不是元素本身。I'm guessing the if statement performs some auto-conversion on .text() and 1 and equates the string and the integer, whereas the switch statement does teh equivalent of ===.
Not guaranteeing that above, but i'd recommend trying:
'case "1":
instead of
case 1:`Also, you're applying your css to
numWord
which you set equal to the text of the element, not the element itself.