Tôi đang cố gắng chuyển đổi khả năng hiển thị của các phần tử DIV nhất định trên trang web tùy thuộc vào loại của từng DIV. Tôi đang sử dụng một đoạn mã JavaScript cơ bản để chuyển đổi chúng. Vấn đề là tập lệnh chỉ sử dụng getElementById
, vì getElementByClass
không được hỗ trợ trong JavaScript. Và rất tiếc, tôi phải sử dụng lớp chứ không phải id để đặt tên cho các DIV vì tên DIV được tạo động bởi biểu định kiểu XSLT của tôi bằng cách sử dụng một số tên danh mục nhất định.
Tôi biết rằng một số trình duyệt hiện hỗ trợ getElementByClass
, nhưng vì Internet Explorer không hỗ trợ nên tôi không muốn đi theo con đường đó.
Tôi đã tìm thấy các tập lệnh sử dụng các hàm để lấy các phần tử theo lớp (chẳng hạn như # 8 trên trang này: http://www.dustindiaz.com/top-ten-javascript/ ), nhưng tôi không thể tìm ra cách tích hợp chúng với kịch bản chuyển đổi của tôi.
Đây là mã HTML. Bản thân các DIV bị thiếu vì chúng được tạo khi tải trang bằng XML / XSLT.
Câu hỏi chính: Làm cách nào để tải tập lệnh Toggle dưới đây để nhận Phần tử theo Lớp thay vì nhận Phần tử theo ID?
<html>
<head>
<!--This is the TOGGLE script-->
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
</head>
<!--the XML/XSLT page contents will be loaded here, with DIVs named by Class separating dozens of li's-->
<a href="#" onclick="toggle_visibility('class1');">Click here to toggle visibility of class 1 objects</a>
<a href="#" onclick="toggle_visibility('class2');">Click here to toggle visibility of class 2 objects</a>
</body>
</html>