Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 CSS类的名称空间切换_Javascript_Jquery - Fatal编程技术网

Javascript CSS类的名称空间切换

Javascript CSS类的名称空间切换,javascript,jquery,Javascript,Jquery,jquery有这个功能 但它不允许名称间隔。使用名称间距,您可以在多个类之间切换,就像它们是单选按钮一样 比如说 toggleClass(el, 'ns1', 'test') 将选中ns1,并删除具有此命名空间的任何其他类,并将其替换为类test 我编写这个库函数是为了保存我的应用程序代码 我犯的一个错误是用名称空间作为类的前缀,而不是将其作为单独的参数 下面是我正在使用的带有名称间距的自定义toggleClass: // apply event listeners to the inp

jquery有这个功能

但它不允许名称间隔。使用名称间距,您可以在多个类之间切换,就像它们是单选按钮一样

比如说

toggleClass(el, 'ns1', 'test')
将选中
ns1
,并删除具有此命名空间的任何其他类,并将其替换为类
test

我编写这个库函数是为了保存我的应用程序代码

我犯的一个错误是用名称空间作为类的前缀,而不是将其作为单独的参数

下面是我正在使用的带有名称间距的自定义toggleClass:

// apply event listeners to the input elements
applyEL: function (input_element, label_element) {
    var self = this;
    self.J.input = $(input_element);
    self.J.input.on("blur", function () {
        if (input_element.value === '') {
            $A.toggleClass(input_element, self.S.toggle_border_show);
            $A.toggleClass(label_element, self.S.toggle_label_show);
            $A.expandFont(label_element, 'up', self.S.speed);
        }
    }, false);
    self.J.input.on("focus", function () {
        if (input_element.value === '') {
            $A.toggleClass(input_element, self.S.toggle_border_obscure);
            $A.toggleClass(label_element, self.S.toggle_label_obscure);
        }
    }, false);
    self.J.input.on("paste keypress drop", function () {
        $A.setTimeout(function (label_element, input_element) {
            $A.toggleClass(label_element, this.S.toggle_label_hide);
            $A.toggleClass(input_element, this.S.toggle_border_hide);
        }, 0);
    }, false);
}

除了我提到的以外,还有更好的方法吗?

更好的方法是,向html或body元素添加一个类,它将充当名称空间,就像常见的主题切换程序一样

如果您需要特定元素的本地名称空间,您可以引用父元素


砰的一声,你有了名字空间

不清楚你在做什么。我在谷歌上搜索了“html类名称空间”,没有发现任何关于类在名称空间中的建议。类没有名称空间,所以这毫无意义,一个类如何命名以及你到底想做什么?我想了解你在做什么,但是这里有太多未定义的变量…@Karl-
这个.S.toggle\u label\u hide
只是一个字符串文本,等于
'toggle\u label\u hide'
,其他变量也一样,
label
是名称空间,
hide
是本例中的值。名称空间这个词使用得很松散。您的示例表明,自定义函数有三个参数,但是您继续说“这是我对自定义toggleClass的使用”,但是您显然使用了内置的jQuery.toggleClass方法。