Reputation: 16274
I have the opposite of what most are asking. I want to display the original Html character code instead of displaying its glyph.
I have a table of emojis using the latest Unicode codes. For example, 😀 😇 are written in the page as 😀
and f607;
. I am doing a quick reference utility, so that when I click one of them, I want to show the code of the graphic. Unfortunately, if I push the character value to an element's innerText or innerHTML, it always show the glyph. How do I display a value of f600;
in its literal form of f600;
and not 😀
Thanks for all the helpful answers. I tried using <code>
and <pre>
but they didn't work for me. I used jQuery to select a <code>
element and set its text
to 😀
. The graphic is shown instead of the literal code characters. Perhaps I am using the wrong property or function. Or should I be not using jQuery at all?
My code is:
<script>
$('.emoji').click( function() {
$('#selected').text(this.innerText);
});
</script>
<div class='emoji'>😀</div>
<div class='emoji'>😇</div>
<code id='selected'></code>
Upvotes: 3
Views: 757
Reputation: 158
In case you encode only the ampersand & and it will show what you want:
&#x1f607;😇
😇 😇
Upvotes: 1
Reputation: 33153
The easiest way is to save the character code to a data attribute and pull it from there.
$('.emoji').click( function() {
$('#selected').text("&#x"+$(this).data('code')+";");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='emoji' data-code="1f600">😀</div>
<div class='emoji' data-code="1f607">😇</div>
<code id='selected'></code>
Upvotes: 4
Reputation: 863
You should be able to do something like:
&#x1f600;
See this code pen
http://codepen.io/anon/pen/MbgKpw
Upvotes: 5
Reputation: 136
Here is a fiddle: https://jsfiddle.net/3mbdpzdq/
<xmp>
😀
</xmp>
Upvotes: -1