목록 상자 선택에 따라 표 행을 표시하거나 숨기려면 다음 JavaScript 함수가 있습니다.CSS style.display가 작동하지 않습니다.
function clock_Type(id) {
var clockSource = document.getElementById("clockSource");
var clockType = document.getElementById("clockType");
if(id == "1") {
if(navigator.appName == "Microsoft Internet Explorer") {
clockType.style.display = "inline";
clockSource.style.display = "inline";
} else {
clockType.style.display = "table-row";
clockSource.style.display = "table-row";
}
} else {
clockType.style.display = "none";
clockSource.style.display = "none";
}
}
다음은 목록 상자입니다.
<select id="clck" name="clock" class="selectStyle" style="width: 155px;" onchange="clock_Type(this.value)">
<option value="0">Disabled</option>
<option value="1">Enabled</option>
</select>
목록 상자 변경 이벤트에서 제대로 작동합니다. 즉, 테이블 행이 숨겨지고 표시됩니다. 그러나 아래와 같이 다른 함수에서 JS 함수 clock_Type()을 호출하려고하면 테이블 행이 표시되지 않습니다. 나는 실행이 파이어 폭스
clockType.style.display = "table-row";
clockSource.style.display = "table-row";
에 대해 다음 섹션에 도달하지만 테이블 행이 표시지고하지 않는 코드를 추적
function foo() {
clock_Type(1);
}
. 어떤 아이디어가 여기에 문제가 될 수 있습니다. 미리 감사드립니다!
DOM이 완전히로드되기 전에 함수를 호출 할 수 있습니까? 또한 문제는 아니지만 정수 ('clock_Type ("1");')가 아닌 문자열로 함수를 호출해야합니다. –
@Max - 가능성은 희박 해 보이지만 onchange 이벤트에서 발생합니다. – Quentin
@David : "... 다른 함수에서 JS 함수 clock_Type()을 호출하려고 할 때 ..."여부가 명확하지 않습니다. –