Посмотрите на jQuery Toggle
HTML:
Hello World
jQuery:
jQuery(document).ready(function(){
jQuery('#hideshow').live('click', function(event) {
jQuery('#content').toggle('show');
});
});
Для версий jQuery 1.7 и более новое использование
jQuery(document).ready(function(){
jQuery('#hideshow').on('click', function(event) {
jQuery('#content').toggle('show');
});
});
С jQuery фактический элемент DOM в индексном нуле, это должно работать
$('#a')[0].className = $('#a')[0].className.replace(/\bbg.*?\b/g, '');
Ответ Prestaul был полезен, но он не вполне работал на меня. JQuery способ выбрать объект идентификатором не работал. Я должен был использовать
document.getElementById("a").className
вместо
$("#a").className
в http://www.mail-archive.com/jquery-en@googlegroups.com/msg03998.html говорится:
... и .removeClass () удалил бы все классы...
Это работает на меня;)
аплодисменты
Вам не нужен никакой jQuery определенный код для обработки этого. Просто используйте RegExp для замены их:
$("#a").className = $("#a").className.replace(/\bbg.*?\b/g, '');
можно изменить это для поддержки любого префикса, но более быстрый метод выше, поскольку RegExp будет скомпилирован только однажды:
function removeClassByPrefix(el, prefix) {
var regx = new RegExp('\\b' + prefix + '.*?\\b', 'g');
el.className = el.className.replace(regx, '');
return el;
}
Я также использую дефис'- 'и цифры для имени класса. Итак, моя версия включает '\ d -'
$('#a')[0].className = $('#a')[0].className.replace(/\bbg.\d-*?\b/g, '');