Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery-使用字符串选择元素_Javascript_Jquery - Fatal编程技术网

Javascript Jquery-使用字符串选择元素

Javascript Jquery-使用字符串选择元素,javascript,jquery,Javascript,Jquery,这是我的代码,如果窗口关闭,它将触发给定类名.window和唯一窗口名的函数,这是为每个不同的函数windows准备的。该函数将找到与窗口具有相同唯一名称的.taskbar图标,并删除类.active,以告知用户窗口实际上已关闭 窗口的唯一名称由我提供,一次只能有一个唯一的窗口,这意味着不应该有两个元素具有相同的唯一类名,例如.window.q function disappearWindow(target) { if(target.hasClass("q")) { $(

这是我的代码,如果窗口关闭,它将触发给定类名
.window
和唯一窗口名的函数,这是为每个不同的函数windows准备的。该函数将找到与窗口具有相同唯一名称的
.taskbar图标
,并删除类
.active
,以告知用户窗口实际上已关闭

窗口的唯一名称由我提供,一次只能有一个唯一的窗口,这意味着不应该有两个元素具有相同的唯一类名,例如
.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
等,而不是使用上面的代码,我将不得不添加另一个语句,因为它不具有生产性并且浪费资源

窗口应仅包含类
窗口\u实际\u唯一\u名称ui可拖动ui可调整大小

所以我想要这样的东西:

function disappearWindow(target) {
    $(".taskbar-icon" + NAME_FROM_FUNCTION_CALLING).removeClass("active");
}
有没有办法把名字提取出来,这样上面的代码就不那么“黑”了,更友好了?或者有什么建议可以采取其他措施来达到同样的效果


我不介意更改名称。

如果我没有弄错并且完全理解您的观点,我认为以下代码应该可以工作

function disappearWindow(selectorStr) {
    var activeClass     = selectorStr.substr( selectorStr.lastIndexOf(".") + 1 );
    var targetElemStr   = ".taskbar-icon." + activeClass;
    $(targetElemStr).removeClass("active");
}

disappearWindow(".window.q");

有多少个名字(潜在的),你知道它们会是什么吗,或者在某种程度上是动态的?我想我很困惑为什么你不能只写$(“.taskbar图标”)。removeClass(“active”)?对不起,有很多任务栏图标,现在可以编辑谢谢,这甚至让我不得不键入更少的jquery美元符号:DJust好奇,你能打开$(“.something”)吗或者提取该元素的所有类并形成一个字符串?多亏了你,Daniel,我实际上无法将选择器的结果转换为字符串。但是,您可以迭代结果数组以获得所需的字符串。