Я понимаю, как поздно я отношусь к этой вечеринке, но у меня очень простое решение, которое не требует jQuery.
escaped = new Option(unescaped).innerHTML;
Редактировать: это не приводит к кавычками. Единственный случай, когда кавычки должны быть экранированы, - это если содержимое будет вставлено в строку в атрибут внутри строки HTML. Мне трудно представить себе случай, когда это будет хорошим дизайном.
Редактирование 2: Если производительность имеет решающее значение, решение с наивысшей производительностью (примерно на 50%) по-прежнему представляет собой серию регулярных выражений. Современные браузеры обнаружат, что регулярные выражения не содержат операторов, просто строку и сворачивают все их в одну операцию.