You could create an element, assign the encoded HTML to its innerHTML and retrieve the nodeValue from the text node created on the insertion.
function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes[0].nodeValue;
}
htmlDecode('<div class="someclass"><blockquote> <p>" ' +
'something" here.</p>Q</blockquote>')
// returns :
// "<div class="someclass"><blockquote> <p>"something" here.</p>Q</blockquote>"
Note that this method should work with all the HTML Character Entities.