Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get the unicode/hex representation of a symbol out of the HTML using JavaScript/jQuery?

Tags:

Say I have an element like this...

<math xmlns="http://www.w3.org/1998/Math/MathML">   <mo class="symbol">α</mo> </math> 

Is there a way to get the unicode/hex value of alpha α, &#x03B1, using JavaScript/jQuery? Something like...

$('.symbol').text().unicode(); // I know unicode() doesn't exist $('.symbol').text().hex(); // I know hex() doesn't exist 

I need &#x03B1 instead of α and it seems like anytime I insert &#x03B1 into the DOM and try to retrieve it right away, it gets rendered and I can't get &#x03B1 back; I just get α.

like image 357
Hristo Avatar asked Jul 10 '11 07:07

Hristo


1 Answers

Using mostly plain JavaScript, you should be able to do:

function entityForSymbolInContainer(selector) {     var code = $(selector).text().charCodeAt(0);     var codeHex = code.toString(16).toUpperCase();     while (codeHex.length < 4) {         codeHex = "0" + codeHex;     }      return "&#x" + codeHex + ";"; } 

Here's an example: http://jsfiddle.net/btWur/

like image 66
aroth Avatar answered Sep 28 '22 07:09

aroth