Javascript切换语句,如果字符串包含子字符串
javascript switch statement, if string contains substring
我想弄清楚如何做一个开关语句,我需要找到对象的类名,然后根据类名做一些事情(在开关语句)。
在这个例子中,当类包含一个特定的单词时,我需要switch语句做任何我需要做的事情,比如"person"。
html<div class="person temp something"></div>
javascript $(document).on('mousedown', function(e) {
var clicked = $(e.target).attr('class');
console.log(clicked);
switch (clicked) {
case "person":
//do something
break;
default:
//do something
}
});
不能保证switch语句的名称,比如"person"会出现在第一个位置。
我知道我可以在数组中搜索特定的单词,但我不知道如何将它添加到这种东西中
正如我在评论中所说,在这种情况下,switch
语句似乎不是合适的方法。
既然你正在使用jQuery,只需使用 .hasClass
:
if ($(e.target).hasClass('person')) {
// do something
}
如果你想为多个类做一些更复杂的事情,你可以创建一个class -> function
映射并简单地遍历类列表:
var classActions = {
person: function(element) { /* do something */ },
temp: function(element) { /* do something */},
// ...
};
var classes = e.target.className.split(/'s+/);
$.each(classes, function(index, cls) {
classActions[cls](e.target);
});
您需要使用.split()和. indexof ()的组合。你的代码应该是这样的:
var clicked = $(e.target).attr('class');
var classes = clicked.split(' ');
if(classess.indexOf('person') > 0) {
//do work
} else if (classes.indexOf('foo') > 0) {
//do work
} else if (classes.indexOf('bar') > 0) {
//do work
}
.split()的MDN文档
.indexOf()的MDN文档
请注意,有很多方法允许您这样做。例如,您可以使用string.search(substring)
来检查字符串是否包含您的子字符串。如果存在子字符串,则返回找到的索引(从0到n的某个数字),否则,如果没有找到,则返回-1。因此,如果search
大于或等于0,则子字符串存在。
if(clicked.search("person") >= 0)
// "person" is in clicked
相关文章:
- 解析字符串包含'"'从mysql检索到JSON
- 当字符串包含 HTML 标记时,JSON 解析失败
- 用于Cordova应用程序的Javascript SQLite-使用参数搜索,其中字符串包含子字符串大小写insenst
- Regex-仅当字符串包含任何其他字符时才允许使用某些字符
- javascript正则表达式匹配字符串包含阿拉伯特殊字符符号'œ;u0640
- 如何将字符串(包含位置)转换为数组
- 字符串包含 ;.
- Javascript 如果字符串包含空格,则用破折号替换空格
- 正则表达式(如果字符串包含 E 或 F 字母)
- JavaScript 搜索字符串包含
- 正则表达式,如果字符串包含 a>b 或 a=b 或 a<=b 或 a!=b 或 a==b 中的任何一个,则
- JQUERY 如果字符串包含两个单词
- PHP 字符串包含打印 Javascript 时的换行符问题
- 将JSON字符串(Pretified)转换回原始字符串(包含所有转义符)
- 如果请求的字符串包含引号,为什么encodeURIComponent不工作
- 字符串包含无法在IE中工作
- 错误:未捕获的异常:[exception.."字符串包含一个..quot;
- 将.CSV数据导入Javascript,并在字符串包含数据时运行execute
- javascript搜索字符串包含'+'
- 如果字符串包含所有汉字或以汉字结尾,请检查JavaScript/jQuery