2013-03-01 6 views
1

HTML로 체스 판을 디자인하고 있습니다. &#9814은 WHITE ROOK을 표시하는 코드입니다. 내가 페이지를로드하는 동안 값을 설정하기 위해 노력하고있어 그것이 문자열로 표시되지만, 루크 버튼에 오지 않아페이지로드시 ASCII 코드를 버튼에 설정하는 방법

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

끝에 '♖' –

+0

아니요, 세미콜론이 필요합니다. 작동하지 않습니다. 시도했습니다. –

+1

저의 작품 : http://jsfiddle.net/RM5VD/ 문제는 다른 곳에서해야합니다. 버튼에서 무엇을보고 있니? 함수가 전혀 실행되지 않습니까? –

답변

0

는 당신이를 다시 작성해야 이 같은 기능 :

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

그것은 당신이 수정하고 요소의 정확히 어떤 종류의 분명하지 않다,하지만 당신은 대신 innerHTML을 수정해야 할 수 있습니다 상황에 따라 value

당신이 가지고있는 방식대로, 문자를 하나의 문자가 아닌 리터럴 문자열로 전달합니다.

jsFiddle example

+0

고맙습니다 ... G @ 너겟 –

1

&#9814 또는 ♖ 자바 스크립트에서 특별한 의미가 없습니다 표기법; 이 문자열은 innerHTML 속성에 할당되어 HTML 구문 분석을 유발할 수 있지만 문자 스트링 일뿐입니다.

자바 스크립트에서 유니 코드 문자를 삽입하는 가장 간단한 방법은 적절한 편집기와 UTF-8 문자 인코딩을 사용해야한다는 것입니다. 예 :

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

다음 간단한 즉 \u 정확히 네 개의 16 진수 다음에 자바 스크립트 탈출 표기법을 사용하는 것입니다. 흰색 체스 루크는 U + 2656 (2656 진수 = 9815 진수)이기 때문에, 당신은이를 사용합니다 :이 수정 요소가 HTML 사양에 따라, value 재산이있는 경우에만 의미가 있습니다

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

. 예를 들어, <input type=button>은 있지만, button은 그렇지 않습니다. 그러나 이것은 과제의 왼손에만 영향을 미칩니다. 즉, 문자열을 할당 할 대상입니다.

이 같은 체스 피규어에 대한 font support은 다소 제한적입니다. 게다가, 브라우저는 버튼에 사용될 글꼴에 대한 자신의 아이디어를 가지고있을 수 있습니다. 실제로는 다운로드 가능한 글꼴을 사용해야합니다.

관련 문제