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