尝试使用html/javascript显示一个印刷字形列表

Trying to display a list of typographic glyphs using html/javascript

本文关键字:一个 列表 字形 html 显示 javascript      更新时间:2023-09-26

好吧。我正在尝试写一些代码,将排版字形放在html页面上。类似于:&amp(amp)和&165日元。我使用一个简单的for循环来创建数字160-255(与多个字形相关的数字),并在前面加上"&#"。我相信这会创建一个字符串"&#xxx",然后将其封装在

中并添加到document.body.

问题是,我得到的只是一个打印字符串列表&160-&255。有什么不同格式的想法吗?我在想可能是编码错误?

var p = null;
// make <p> tags and insert string "&#"+i, where i comes from for loop. //

function makeP(glyphNum){

    var gNum = glyphNum.toString();
    p = document.createElement("p");
    var pGlyph = document.createTextNode("&#"+gNum);
    var string = pGlyph.toString();
    p.appendChild(pGlyph);
    //console.log(p);
    document.body.appendChild(p);

}

//create nums for glyphs//

for(var i = 160;i <= 255; i++)
{
    makeP(i);
}

document.createTextNode不解析HTML实体。相反,请设置innerHTML属性。请注意,数字HTML实体必须以&#为前缀,并以分号(;)为后缀。

function makeP(glyphNum){
    var p = document.createElement("p");
    p.innerHTML = "&#" + glyphNum + ";";
    document.body.appendChild(p);
}

另一种选择是使用String.fromCharCode()通过字符代码创建内容。这是一把小提琴。

$('p').append((function() {
    var i, s = [];
    for (i = 32; i < 1000; ++i)
        s[i] = String.fromCharCode(i);
    return s.join('');
})());