我有以下脚本有效:
classes = $(this).attr("class").split('_');
如果$(this)
的班级是:
class="billed_department_employee_client_code"
最终结果如下:
["billed", "department", "employee", "client", "code"]
这正是我想要的,因为它允许我做这样的事情
console.log( classes[0] );
console.log( classes[1] );
console.log( classes[2] );
console.log( classes[3] );
是否可以从classes
中删除单个值并将其余值移回?
例如,
如果classes
包含department
,请将其删除。所以,如果它看起来像这样:
["billed", "department", "employee", "client", "code"]
应该成为:
["billed", "employee", "client", "code"]
如何做到这一点?
答案 0 :(得分:2)
您可以使用splice()
方法。
classes.splice(1, 1);
将从索引1(第一个参数)开始删除1个项目(第二个参数)。如果您不知道索引,可以使用indexOf()
来查找索引。
某些浏览器不支持indexOf()
,因此您可以使用MDN中的脚本来使用它。您还需要检查以确保indexOf()
没有返回-1
(未找到),因为将索引的负参数传递到splice()
将导致它从末尾删除项目数组。
答案 1 :(得分:1)
是。可以办到。这样:
var c = ["billed", "department", "employee", "client", "code"];
c.splice( c.indexOf('department'), 1); // will remove 'department' from the array.
c.join("_"); // will return "billed_employee_client_code"
答案 2 :(得分:0)