0

ページ内のすべての要素から特定のクラス属性を削除する必要があります。つまり、現在のhtmlページのすべての要素から特定のクラスを削除する必要があります。参照としてのクラス名(そのページから削除する必要がある)のみがあり、他には何もありません。

idや別のクラスのような参照として何も使用できないことに注意してください。また、これにもJavaScriptライブラリを使用できません...

これに関する提案をいただければ幸いです。

また、削除する必要のあるクラスは2回以上存在しないことに注意してください。

4

3 に答える 3

9

最新のブラウザを使用している場合:

var forEach = Array.prototype.forEach;
var className = "yourclass";

forEach.call(document.querySelectorAll("." + className), function(node) {
    node.classList.remove(className);
});

詳細については、 forEachquerySelectorAll、およびclassListを参照してください。

于 2012-07-15T18:08:44.090 に答える
6
function removeClass(className) {
    // convert the result to an Array object
    var els = Array.prototype.slice.call(
        document.getElementsByClassName(className)
    );
    for (var i = 0, l = els.length; i < l; i++) {
        var el = els[i];
        el.className = el.className.replace(
            new RegExp('(^|\\s+)' + className + '(\\s+|$)', 'g'),
            '$1'
        );
    }
}

そしてそれを次のように使用します:

removeClass('desired-class-name');

更新:ライブデモを参照してください:http://jsbin.com/eyuxur

于 2012-07-15T18:01:58.760 に答える
0

これは、非常に大きなページでは遅くなる可能性がありますが、すべての要素からクラスを削除する方法です。

var list = document.getElementsByTagName('*');
for(var i=0; i < list.length; i++){
  list[i].className = list[i].className.replace('YourClassName','');
}
于 2012-07-15T18:02:22.363 に答える