The above looks fine to me. From a post on [ambiguous ampersands][1] by Mathias Bynens:

> In HTML5, the first definition for ambiguous ampersands was added:
>
> > An ambiguous ampersand is a U+0026 AMPERSAND (`&`) character that is not the last character in the file, that is not followed by a [space character][2], that is not followed by a start tag that has not been omitted, and that is not followed by another U+0026 AMPERSAND (`&`) character.
>
> Ambiguous ampersands are non-conforming (invalid); unambiguous ampersands are generally conforming (valid). (As mentioned before: ampersands that are part of a named character reference [that doesn’t end with a semicolon][3] are unambiguous, but still invalid.)
>
> In other words, if an unencoded ampersand is followed by EOF, a space character, `<`, or `&`, it’s perfectly valid.

Are you of the opinion that `$('<div>' + x + '</div>').html() === x` should be true for every `x`? I don't have a problem with cheerio normalizing unambiguous ampersands.


[1]: http://mathiasbynens.be/notes/ambiguous-ampersands
[2]: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#space-character
[3]: https://github.com/andreasgal/dom.js/blob/3f7c7dacaba55f501ad7468d356d20f46b4e4da6/src/impl/HTMLParser.js#L327-356