className -> classList; feature detect isWebkit
bug fix: selectionChange throws when selection is null