I know that I can use $.html
to set the HTML content of something, and $.text
to set the content (and that this escapes the HTML).
Unfortun
If you really want to get jQuery to escape some text to an HTML fragment and don’t want to touch document
directly yourself, the following pure jQuery can escape text to HTML for you (but only in an HTML context):
jQuery('').text('v & M_FLAG == M_FLAG').html()
This can be used to append text quite inefficiently:
jQuery('#message').append(jQuery('').text(item).html());
There will be no extra element inserted because .html() returns the HTML-formatted contents of an element, excluding the element itself.
Based on jQuery’s lack of a built-in way to instantiate text nodes, I think jQuery’s authors expect users to directly use document.createTextNode()
as shown in an earlier answer.