2013-03-01 38 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這樣的棋子人物是相當有限的。而且,瀏覽器可能對按鈕中使用的字體有自己的想法。在實踐中,你應該使用一些可下載的字體。

相關問題