0

私はIE och Chromeで問題なく動作するクラスリムーバーを持っていますが、Firefoxではエラーが発生しません。それはまったく機能しません。remove が関数ではないというエラーが表示されます。

私はそれを機能させるためにさまざまな方法を試してきましたが、どれもクラスを削除しません。

function removeDice(){
 document.getElementsByClassName("dice")[0].remove(0);
}

サイコロのクラスを 1 つずつ削除できる便利な関数... chrome では機能しますが、firefox では機能しません。

ここでスタックオーバーフローのさまざまな方法を読んで、これを試しました

document.getElementById("dice").className =
   document.getElementById("dice").className.replace
      ( /(?:^|\s)MyClass(?!\S)/g , '' )

しかし、運もありません。任意のヒント ?

ありがとう

4

2 に答える 2

1

使用するremoveAttribute()

document.getElementById("dice")[0].removeAttribute("class");

更新しました:

このようにしてください: -

function removeClassFromAllElements(){
    var objClass = document.getElementsByClassName("YOUR-CLASS-NAME");
    var tempLen = objClass.length;
    for (i=0; i<tempLen; i++) {
        objClass[0].removeAttribute("class");
    }
}

removeClassFromAllElements();

ライブデモを参照

于 2013-02-03T14:50:45.597 に答える
1

これで試してみてください

フィドル

function removeClass(classToRemove){
  var elems = document.getElementsByClassName(classToRemove);

  if (!elems) return;
  for (var i=elems.length-1;i>=0;i--) {
    var elem=elems[i];
    var classes=elem.className.split(" ");
    classes.splice(classes.indexOf(classToRemove),1);
    elem.className=classes.join(" ");
  }
}
于 2013-02-03T14:56:40.247 に答える