我试图弄清楚如何做一个switch语句,我需要找到对象的类名,然后根据类名做一些事情(在switch语句中).
在这个例子中,我需要switch语句在类包含特定单词时执行我需要的任何操作,例如"person".
HTML
<div class="person temp something"></div>
Run Code Online (Sandbox Code Playgroud)
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
}
});
Run Code Online (Sandbox Code Playgroud)
不保证switch语句名称(例如"person")将位于第一个位置.
我知道我可以通过数组搜索特定的单词,但我不知道如何将其添加到这类内容中.
正如我在评论中所说,switch在这种情况下,声明似乎不合适.
由于您使用的是jQuery,只需使用.hasClass:
if ($(e.target).hasClass('person')) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
如果要为多个类执行更复杂的操作,可以创建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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4173 次 |
| 最近记录: |