То есть если я сделаю (в каноничном синтаксисе)
elem.maxlength=(elem.hasAttribute('maxlength'))?parseInt(elem.getAttribute('maxlength'):null;
оно точно останется null, а не "null", и 123, а не "123" применительно к девиациям браузеров?
Кстати JQ идеологически выдержано возвращает по attr() не значение атрибута, а его имя если таковой имеется из тех самых типа boolean. ПравЕльные там поца все пишут.