我使用以下JS代码,但是在IE8浏览器上,li的onclick不起作用。
jsfiddle链接:
http://jsfiddle.net/sudheera/DUZ3B/14/
HTML
<div class="primaryNav fl">
<ul id="hd_vertical" class="productNav">
<li id="hd_test" class="flight">
<span class="navIcon flightIcon hd_test">Test</span>
<a class="hd_test" href="http://validator.w3.org/">Flights</a>
</li>
<li id="hd_test1" class="bus">
<span class="navIcon busIcon hd_test1">Test</span>
<a class="hd_test1" href="http://www.w3schools.com/">Buses</a>
</li>
</ul>
</div>
JS
var changeLocation = function(id) {
var _url = document.getElementsByClassName(id)[1].getAttribute('href');
location.href = _url;
}
document.getElementById("hd_vertical").addEventListener("click",function(e) {
if(e.target.nodeName == "LI") {
var _anchor = e.target.id;
changeLocation(_anchor);
} else if(e.target.nodeName == "SPAN") {
var span = e.target;
var li = span.parentNode;
var _anchor = li.id;
changeLocation(_anchor);
}
});
请建议。
getElementsByClassName
、addEventListener
等。你可以在MDN上查找所有本地JavaScript函数,并查看它们在哪些浏览器中受支持。 - adeneo