我正在制作一个快速响应的网站。对于移动版本,我使用的是jQuery mobile,它为我的HTML添加了许多类。我不希望这些类用于桌面版。
所有jQuery移动类都以“ui”为前缀。虽然我可以使用.removeClass('')
,但我必须为每个类和每个HTML元素使用单独的.removeClass('')
减速度。
如何使用通配符方法删除所有以ui开头的类,无论它们位于哪个元素上?
我找到了一个名为jQuery alterClass的插件,应该这样做,但我似乎无法让它工作。我完全按照说明操作,但它不会删除类。我已经设置了JSFiddle here。
答案 0 :(得分:1)
答案 1 :(得分:0)
这应删除在任何元素上以ui
开头的任何类,它不是非常有效,您应该考虑传递更具体的选择器。
有时jQuery UI / mobile会在加载DOM后添加类,因此只需在文档准备就绪后运行一次就可以保证ui
类不会再次出现:
$('*').attr('class', function(i, classes) {
return classes.replace(/\sui[^\s]*|^ui[^\s]*/gi, '');
});
我会认真考虑寻找另一种方法来做到这一点,例如,如果该网站是移动版本等,则不包括图书馆。
答案 2 :(得分:0)
要获得所有以UI开头的课程,您可以使用此课程。 Beginning exactly with a given string
//handles classes like UI1, UI2 ...
$('[class^="UI"]')
上阅读更多内容
答案 3 :(得分:0)
如果要删除所有具有以UI
开头的类的元素中的所有类:
$('[class^=UI]').removeClass();