所以这是我的代码,如果窗口正在关闭,它将触发给定类名.window
的函数和为每个不同函数窗口准备的唯一窗口名称。该函数将找到与窗口具有相同唯一名称的.taskbar-icon
并删除类.active
,以告知用户该窗口实际上已关闭。
窗口的唯一名称由我给出,并且应该只有一个唯一的窗口作为时间,这意味着不应该有2个具有相同唯一类名的元素,例如.window.q
function disappearWindow(target) {
if(target.hasClass("q")) {
$(".taskbar-icon.q").removeClass("active");
}
if(target.hasClass("f")) {
$(".taskbar-icon.f").removeClass("active");
}
}
disappearWindow($(".window.q"));
正如您在上面所看到的,每次插入新窗口时,我会给它一个类名,如q
或ts
等,而不是使用上面的代码,我必须添加另一个声明,没有生产力和浪费资源。
窗口应该只包含类window THE_ACTUAL_UNIQUE_NAME ui-draggable ui-resizable
。
所以我想要这样的事情:
function disappearWindow(target) {
$(".taskbar-icon" + NAME_FROM_FUNCTION_CALLING).removeClass("active");
}
有没有办法提取名称,以便上面的代码可以减少“hacky”和更友好?或者做其他事情以达到相同结果的任何建议?
我不介意更改名字。
答案 0 :(得分:0)
如果我没有误解并且完全明白你的观点,我认为以下代码应该有用。
function disappearWindow(selectorStr) {
var activeClass = selectorStr.substr( selectorStr.lastIndexOf(".") + 1 );
var targetElemStr = ".taskbar-icon." + activeClass;
$(targetElemStr).removeClass("active");
}
disappearWindow(".window.q");