창이로드 된 후에 실행해야하는 javascript가 있지만 어떤 이유로 든 실행되지 않습니다.함수가 호출되지 않았습니다.
function setClasses(){
document.getElementsByClassName("gchoice_35_0")[0].onclick = sedanShow;
document.getElementsByClassName("gchoice_22_0")[0].onclick = sedanShow;
document.getElementsByClassName("gchoice_34_0")[0].onclick = sedanShow;
document.getElementsByClassName("gchoice_34_1")[0].onclick = suvShow;
document.getElementsByClassName("gchoice_35_1")[0].onclick = suvShow;
document.getElementsByClassName("gchoice_22_1")[0].onclick = suvShow;
document.getElementsByClassName("gchoice_22_2")[0].onclick = vanShow;
document.getElementsByClassName("gchoice_35_2")[0].onclick = vanShow;
document.getElementsByClassName("gchoice_34_2")[0].onclick = vanShow;
}
window.onload = setClasses;
setClasses() 함수를 실행하지 않는 것 :
여기 내 코드입니다. 그것은 FireBug의 콘솔을 통해 수동으로 호출 할 때 작동합니다.
코드는 내 웹 페이지의 헤더에 있습니다.
도움을 주시면 감사하겠습니다.
<head>
......
<script type="text/javascript">
function setClasses(){
document.getElementsByClassName("gchoice_35_0")[0].onclick = sedanShow;
document.getElementsByClassName("gchoice_22_0")[0].onclick = sedanShow;
document.getElementsByClassName("gchoice_34_0")[0].onclick = sedanShow;
document.getElementsByClassName("gchoice_34_1")[0].onclick = suvShow;
document.getElementsByClassName("gchoice_35_1")[0].onclick = suvShow;
document.getElementsByClassName("gchoice_22_1")[0].onclick = suvShow;
document.getElementsByClassName("gchoice_22_2")[0].onclick = vanShow;
document.getElementsByClassName("gchoice_35_2")[0].onclick = vanShow;
document.getElementsByClassName("gchoice_34_2")[0].onclick = vanShow;
}
function sedanShow(){
document.getElementById("sedan").style.display="inline"
document.getElementById("suv").style.display="none"
document.getElementById("van").style.display="none"
}
function suvShow(){
document.getElementById("sedan").style.display="none"
document.getElementById("suv").style.display="inline"
document.getElementById("van").style.display="none"
}
function vanShow(){
document.getElementById("sedan").style.display="none"
document.getElementById("suv").style.display="none"
document.getElementById("van").style.display="inline"
}
window.onload = setClasses;
</script>
......
이 경우이 코드가 페이지에 나타 납니까? 작동하지 않는 HTML 스 니펫 전체를 게시 하시겠습니까? –
저는 setClasses가 실행되고 있다고 생각합니다. 문제는 아닙니다. setClasses 함수에 경고를두면 실행됩니다. 나는 아마 당신의 onclick 속성을 설정하는 방법이라고 생각합니다. IE는 문자열로 설정해야하며, Firefox는 함수로 설정해야합니다. JQuery와 YUI는 이벤트 유틸리티를 제공하여이를 완화합니다. 이러한 프레임 워크를 조사하는 것이 좋습니다. 왜냐하면 이러한 브라우저가 많은 브라우저 간결함을 줄이는 데 도움이되기 때문입니다. – Zoidberg
이 코드를 덮어 쓰는 window.onload를 다른 것으로 설정 했습니까? – epascarello