0

我有一个小问题,我无法从“块”组中删除选定的类。当我单击每个选项卡 X 时,它应该清除任何“块”元素上的“选定”类并应用,然后将“选定”类应用于被单击选项卡的 parentNode。

我不断收到错误消息“未捕获的类型错误:无法调用未定义的方法‘删除’”。这是 jsfiddle http://jsfiddle.net/kas187/r4HLd/1/中的一个示例

4

1 回答 1

0

尝试:

window.addEventListener('DOMContentLoaded', function() {
    Array.prototype.slice.call(document.querySelectorAll('.block .tab')).forEach(function (el) {
        el.addEventListener('click', function() {
            document.querySelector('.block.selected').classList.remove('selected');
            this.parentNode.classList.add('selected');
        }, false);
    });
}, false);​

演示:http: //jsfiddle.net/QGZvN/3/

或者这个,如果你不喜欢slice-method

// inside the for-block
tabbedblocks[i].querySelector('.tab').addEventListener('click', function() {
  document.querySelector('.block.selected').classList.remove('selected');
  this.parentNode.classList.add('selected');
}, false);
于 2012-05-15T09:22:50.323 回答