if (i == 0) { //NullPointerException
...
}
i - целое число, а 0 - int, поэтому в том, что действительно сделано, это что-то вроде этого
i.intValue() == 0
И это вызывает nullPointer, потому что i является нулевым. Для String у нас нет этой операции, поэтому не исключение.
$("#item").removeClass();
Вызов removeClass
без параметров удалит все классы элемента.
Вы также можете использовать (но не обязательно рекомендуется, правильный способ - это тот, который указан выше):
$("#item").removeAttr('class');
$("#item").attr('class', '');
$('#item')[0].className = '';
Если у вас не было jQuery, то это был бы ваш единственный вариант:
document.getElementById('item').className = '';
Подождите, не удаляет ли removeClass () по умолчанию все классы, если не указано ничего конкретного? Так что
$("#item").removeClass();
сделает это самостоятельно ...
Конечно.
$('#item')[0].className = '';
// or
document.getElementById('item').className = '';
Просто установите для атрибута className
реального элемента DOM значение ''
(ничего).
$('#item')[0].className = ''; // the real DOM element is at [0]
Изменить: Другие люди сказали, что простой вызов removeClass
работает - я тестировал это с помощью Google JQuery Playground: http://savedbythegoog.appspot.com /? id = ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ... и это работает. Вы также можете сделать это следующим образом:
$("#item").removeClass();