我编写了允许用户通过单击来选择和取消选择 div 的函数。现在,我想做的是一个功能,一旦按下a,就会取消选择所有内容,但它只会取消选择我的一些div。这是代码:
var divs = document.getElementsByClassName('fuori');
for(i = 0, j = divs.length; i < j; i++){
divs[i].addEventListener('click', function(){
if(!hasClass(this, 'selected')){
this.className = this.className + " selected";
} else {
removeClass(this, 'selected');
}
});
}
removeClass 函数是这个
function removeClass(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
这是取消全选
function deselectAll(){
var selected = document.getElementsByClassName('selected');
alert(selected.length);
for (i = 0; i < selected.length; i++){
removeClass(selected[i], 'selected');
}
}
通过单击来选择和取消选择可以无缝地工作,但是当我选择一些 div 并按a时,它不会取消选择每个 div,而只会取消选择其中的一些。
我该如何解决这个问题?为什么它不起作用?
谢谢!