本文介绍了如何使用JavaScript / jQuery从HTML中获得符号的unicode / hex表示形式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 < math xmlns =http://www.w3 .ORG / 1998 /数学/ MATHML> 
< / math>

有没有办法获得alpha α的unicode / / code>,&#x03B1 ,使用JavaScript / jQuery?类似... $ / $>

  $('。symbol')。text()。unicode(); //我知道unicode()不存在
$('。symbol')。text()。hex(); //我知道hex()不存在

我需要& #x03B1 而不是α,并且好像随时将&#x03B1 插入并尝试立即检索它,它得到渲染,我不能得到&#x03B1 back;我只是得到了α。

解决方案

使用大多数普通的JavaScript,您应该可以做到:

 函数entityForSymbolInContainer(selector){
var code = $(selector).text()。charCodeAt(0);
var codeHex = code.toString(16).toUpperCase();
while(codeHex.length< 4){
codeHex =0+ codeHex;
}

return& #x+ codeHex +;;
}

下面是一个例子:


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 α.

解决方案

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/

这篇关于如何使用JavaScript / jQuery从HTML中获得符号的unicode / hex表示形式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 08:34