jQuery .text() method sets text for an element (after taking care of html entities) and .html() gets the html for a dom element. Combining these we can encode a string to html entities.
var encoded = $("<div/>").text(str).html();
Here is example code for it.
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<pre id="log"></pre>
<script type="text/javascript">
var str = '<span>hello world</span>';
var encoded = $("<div/>").text(str).html();
console.log("str: " + str);
console.log("encoded: " + encoded);
$("#log").text("str: " + str + "\n" + "encoded: " + encoded);
</script>The console outcome from above is:
