1

我正在用 HTML 设计棋盘。&#9814是显示白车的代码。我正在尝试在页面加载时设置值并将其显示为字符串,但 ROOK 没有出现在按钮上

function load() {
    document.getElementById('A1').value="&#9814";
}
4

3 回答 3

1
 function load() {
    document.getElementById('A1').innerHTML="♖";
 }

http://jsfiddle.net/RM5VD/2/

于 2013-03-01T19:50:21.703 回答
1

符号&#9814or♖在 JavaScript 中没有特殊含义;它们只是字符串,尽管这些字符串可以分配给innerHTML属性,从而导致 HTML 解析。

最简单的方法是在 JavaScript 中使用 Unicode 字符来插入它,尽管这需要合适的编辑器和使用 UTF-8 字符编码。例子:

document.getElementById('A1').value = '♖';

下一个最简单的是使用JavaScript转义符号,即\u紧跟四个十六进制数字。由于 WHITE CHESS ROOK 是 U+2656(十六进制 2656 = 十进制 9815),你可以这样使用:

document.getElementById('A1').value="\u2656";

value仅当修改的元素具有符合HTML 规范的属性时,这才有意义。例如,<input type=button>有,但button没有。但这只会影响分配的左手,即您将字符串分配给什么。

请注意,像这样的棋子字符的字体支持是相当有限的。此外,浏览器可能对按钮中使用的字体有自己的想法。在实践中,您可能应该使用一些可下载的字体。

于 2013-03-01T21:08:13.310 回答
0

您需要像这样重写函数:

function load() {
    document.getElementById('A1').value=String.fromCharCode(9814);
}

目前尚不清楚您正在修改哪种元素,但您可能需要根据您的情况修改innerHTML而不是修改。value

您拥有它的方式是将文本作为文字字符串传递,而不是单个字符的表示。

jsFiddle 示例

于 2013-03-01T19:50:44.377 回答