2013-05-14 4 views
0

자바 스크립트로 테이블을 만들고 일부 셀에는 라디오 버튼과 체크 박스를 자바 스크립트로 넣으려고합니다. 이 코드 발견 :.자바 스크립트로 셀을 삽입하고 체크 박스를 삽입하십시오.

function insRow() { 
     var x = document.getElementById('myTable').insertRow(0); 
     var y = x.insertCell(0); 
     y.setAttribute('id', "NewDiv"); 
} 

(마지막 줄 (setAttribute는) 내가 새 테이블 세포에게 ID를 부여하고 다양한 서브 루틴에서 해당 ID와 document.GetElementByID를 사용할 수 있다고 생각 나는 추가 된 라인 그건 작동하지 않습니다. 이제는 'y'복사본을 저장할 전역 변수를 만들면 루틴에서 사용할 수 있지만 위 코드는 작동하지 않아야합니다.

+0

요소의 ID를 설정하기 위해'setAttribute'를 사용할 필요는 없습니다. 그냥'myElement.id = "desiredvalue"'를 사용하십시오. –

+0

아니요, 동일한 ID를 가진 요소를 여러 개 만들면 안됩니다. 이는 유효하지 않습니다. 'getElementById'는 첫 번째 발생 만 가져옵니다. – Bergi

+0

질문이나 코드 작동을 이해하지 못했습니다. 이것을 확인하십시오 http://jsfiddle.net/hW8qf/. 새로운 행과 열을 생성하지만 내부에는 아무 것도 없습니다. 크롬을 사용하여 검사하거나 방화범을 사용하여 검사 할 수 있습니다. – AliBZ

답변

0

document.getElementById 메서드 (소문자 "g""d")은 요소가 DOM에 추가 된 후에 만 ​​작동합니다.

궁극적으로 가능한 경우 변수가 추가되기 전에 y 변수에서 조작을 수행하지만 다른 요소와 마찬가지로 ID를 통해 액세스 할 수 있습니다.

관련 문제