사용자가 div를 선택하거나 선택 취소 할 수있는 함수를 작성했습니다. 자, 내가하려고했던 것은 을이라고 선택하고, 모든 것을 선택 해제하는 기능 이었지만, 내 div의 일부만을 선택 취소합니다. 여기에 코드입니다 :removeClass 함수가 제대로 작동하지 않습니다.
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,' ');
}
}
이다는이 원활 클릭 작품으로 deselectAll
function deselectAll(){
var selected = document.getElementsByClassName('selected');
alert(selected.length);
for (i = 0; i < selected.length; i++){
removeClass(selected[i], 'selected');
}
}
선택 및 선택 해제,하지만 난 어떤 div의를 선택하고 버튼을 누르 때 모든 div를 선택 취소하지 않고 일부만 선택 취소합니다.
어떻게 해결할 수 있습니까? 왜 작동하지 않습니까?
감사합니다.
jQuery가 없습니까? 그것을 사용할 수 있습니까? – user1477388
나는 바닐라 자바 스크립트를 쓰는 법을 잊지 않고 연습하기를 원하며, 불필요한 기능을 많이로드하고 싶지는 않습니다. –
충분합니다. jQuery는 가벼운 프레임 워크이기 때문에 작업이 훨씬 쉬워진다. 예를 들어'$ ('p'). removeClass ('myClass yourClass')'Ref. http://api.jquery.com/removeClass/ – user1477388