html部分 id必须是唯一的, 你的o1 和 o2 分别用了三次, 应该为一次
js部分, 这里查的是id, 他只会找这个id出现的第一个元素, 所以只有一个
1. 改为 document.getElementsByClassName("et-slide");
2. 方框部分要写在循环内调用, 不然也是只调用一次
3. removeClassName 这个方法名是jquery的内置方法, 养成一个良好的习惯, 不要起这种和常用框架方法冲突的方法名
id的英文原意就是身份证号码,它是具有唯一性的,你见过有两个人的身份证号码是一样的吗?所以同一个网页上不允许存在id相同的元素,如果出现了,那么只有第一个元素有效(能被js定位到)。而class(类)则是允许重名的,所以可以这样:
window.onload = function () {
var stamp = document.getElementsByClassName("o2");
for(var i=0;iremoveClassName(stamp[i],"et-slide");
}
}
function removeClassName(element, className) {
if (element&&element.className) {
var elementClassName = element.className.split(" ");
for(var i=0;iif (elementClassName[i] == className) elementClassName[i] = "";
}
element.className = elementClassName.join(" ").trim();
}
}
HTML:
123456
建议你引用jquery,这样代码就会简单得多(HTML同上不变):
$(function(){
$(".o2").removeClass("et-slide");
});
首先你得布局就有问题,li标签本来就是块状元素,为什么里面就一个a标签你还要在外面加个div标签,你可以把a标签直接转换成块状元素。。$('.li').click(function(){$(this).addClass('ok').parent().siblings().children().removeClass('ok');});不过我猜测,你这样给div元素加属性,里面的a标签享受不到。
function FixArray() { this.ArrayObj = new Array(); this.length = 10; //设定上限大小 this.head=""; this.end=""; this.add=function(Node) { if (this.ArrayObj.length