2013-03-01 37 views
1

我正在用HTML设计国际象棋棋盘。 &#9814是显示WHITE ROOK的代码。 我正在尝试设置而加载页面的价值,它会显示它作为一个字符串,但车就不能在未来按钮如何在页面加载时将ASCII代码设置为按钮

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

你需要一个分号在末尾'♖' – 2013-03-01 19:33:06

+0

nope,它没有working.i试过 – 2013-03-01 19:34:39

+1

Works for me:http://jsfiddle.net/RM5VD/然后你的问题必须在其他地方。你在按钮上看到了什么?功能是否完全启动? – 2013-03-01 19:36:08

回答

0

你需要重写功能如下:

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

目前尚不清楚你修改究竟是什么样的元素,但你可能需要修改innerHTML代替value取决于你的情况。

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

jsFiddle example

+0

thankuu ...知道了@ G-Nugget – 2013-03-01 20:25:42

1

记号&#9814♖在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没有。但是这只影响赋值的左侧,即赋给字符串的内容。

当心font support这样的棋子人物是相当有限的。而且,浏览器可能对按钮中使用的字体有自己的想法。在实践中,你应该使用一些可下载的字体。

相关问题