Tôi có một số javascript được cho là chạy sau khi tải cửa sổ nhưng vì lý do nào đó, nó không bao giờ chạy.Chức năng không được gọi là
Dưới đây là mã của tôi:
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;
Các setClasses() chức năng dường như không chạy. Tuy nhiên nó làm việc khi tôi tự gọi nó thông qua giao diện điều khiển của FireBug.
Mã được đặt trong tiêu đề của trang web của tôi.
Mọi trợ giúp đều được đánh giá cao.
html Full đoạn mã:
<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>
......
đâu mã này xuất hiện trên trang của bạn? Bạn có nhớ đăng một đoạn mã HTML đầy đủ không hoạt động không? –
Tôi tin rằng setClasses đang chạy, đó không phải là vấn đề. Tôi đặt cược nếu bạn đặt một cảnh báo trong chức năng setClasses của bạn, nó sẽ cháy. Tôi tin rằng đó có thể là cách thiết lập thuộc tính onclick của bạn. IE yêu cầu nó được thiết lập như một chuỗi, trong khi firefox yêu cầu nó phải là một hàm. JQuery và YUI giúp giảm thiểu điều này bằng cách cung cấp các tiện ích sự kiện. Tôi sẽ khuyên bạn nên xem xét các khuôn khổ này bởi vì chúng giúp giảm rất nhiều quirks trình duyệt chéo mà bạn phải giải quyết. – Zoidberg
Còn bất cứ điều gì khác có đặt window.onload đang ghi đè mã này không? – epascarello