JS에서 innerHTML외에도 TD안에 값을 넣을 수 있나요?
Glisten
최근 작업하면서 js에서 innerHTML을 사용해서 원하는 위치안에 값을 넣을 수 있다는 걸 알았습니다.
그런데 빈 TD. 그러니까 td id=a/td 구조로 된 곳안에 누군가 값을 넣어주는 것이 분명한데,
Ctrl+F로 찾아봐도 innerHTML 없어서 해당 부분이 어디인지 손을 못 대고 있네요.
다른 방법이 있나요?
아래는 좀 더 자세한 정황입니다. (글이 너무 길어져서 질문과 나눠 올립니다;;;)브라우저를 개발하는 회사에서 샘플 위젯을 작업중입니다.
IE, FF에서 제대로 동작하지 않는 오페라 위젯이구요;;
오페라의 위젯중 적절한 놈을 다운받아서 디자인만 수정하는 업무를 하고 있습니다.
IE, FF등에서 확인하는 것이 아니라 모바일에 들어가는 자체 브라우저에서 작동하는지 시뮬레이터 프로그램을통해 확인합니다.
캘린더를 작업하려고 했는데 샘플이 몇개 없고 그나마 구성이 단순해 보이는 놈을 찾아서 작업중인데요.
작동원리파악이 안돼서 애를 먹고 있네요.
http://widgets.opera.com/widget/download/6713/이 위젯이구요.
우측이 정상동작상태, 왼쪽이 현재 시뮬레이터에서 보이는 화면입니다.
제가 수정하면서 작업중인 파일 함께 첨부해서 올립니다.
궁금하신 분은 파일을 다운받아서 확인하실 수 있겠구요.
index.html 파일중에 아래와 같은 코드가 있습니다.
tr id=dayNames
td class=dayheadcellSu/td
td class=dayheadcellMo/td
td class=dayheadcellTu/td
td class=dayheadcellWe/td
td class=dayheadcellTh/td
td class=dayheadcellFr/td
td class=dayheadcellSa/td
/tr
tr
td class=calendarcell id=0/td
td class=calendarcell id=1/td
td class=calendarcell id=2/td
td class=calendarcell id=3/td
td class=calendarcell id=4/td
td class=calendarcell id=5/td
td class=calendarcell id=6/td
/tr
이런식으로 달력 테이블의 빈칸이 준비되어있는데,
오페라에서 위젯을 띄우면 빈칸에 값이 들어가서 보이지만
시뮬레이터에서는 보이지가 않네요.
그래서 그 부분이 동작하도록 수정해야하는데,
JS를 잘 몰라서 파악이 잘 안됩니다.
실행시켜보면 달력테이블 안의 값만 안나오고 그 외의 기능은 정상작동중입니다.
오페라에서만 동작이 가능한 함수를 사용하는게 아닐까 싶은데. 찾기가 어렵네요.
혹시 간단한 도움이라도 주실 수 있다면 제게 큰 도움이 되겠습니다.
어제부터 이 문제로 끙끙대는데 진도가 안나가고 있거든요.
해당스크립트 파일은 script.js 이고,
제가 살펴본 부분은 //이건가? 라는 주석을 달아놓은 부분입니다.
-
하예라 2025-08-29
오투필// 원본소스가 그렇게 되어있어서 그대로 사용한 거였는데... 그렇네요. 감사합니다 ^^;
-
매1혻적 2025-08-29
시뮬레이터는 자체엔진이어서 IE기반은 아닌듯합니다.
innerText로 바꾸니 되는군요. 정말 감사합니다. ^^ -
새콤이 2025-08-29
날짜 출력 부분은 innerHTML이 아니라 DOM 레벨3 속성인 textContent로 되어 있네요. textContent는 IE에서는 지원되지 않습니다. 시뮬레이터가 IE 기반이라면 innerText나 innerHTML을 사용하셔야 할 것 같네요.
-
로다 2025-08-29
각 id앞에 cal을 붙여놓고 script.js의 466 line을 이렇게 수정했습니다.
td = document.getElementById(\cal\+String(i));
그런데 아직 문제가 남았나봅니다. 증상은 그대로네요. -
꿈 2025-08-29
obejct ID를 숫자로 하신게;;; 꼭 영문자가 먼저 와야하는 것으로 알고 있습니다. ^^ 변수 설정할때에도 영문이 앞에 오잖아요 숫자로 쓰신걸 영문 네이밍으로 바꿔보심이 ^^
