97 Stimmen

Entfernen von HTML-Elementstilen über Javascript

Ich versuche, den Wert des Inline-Style-Tags eines Elements zu ersetzen. Das aktuelle Element sieht wie folgt aus:

`<tr class="row-even" style="background: red none repeat scroll 0% 0%; position: relative; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" id="0000ph2009-06-10s1s02">`

und ich möchte alle, dass Stil Zeug zu entfernen, so dass es durch seine Klasse als es Inline-Stil gestylt ist. Ich habe versucht, delete element.style; und element.style = null; und element.style = ""; ohne Erfolg. Mein aktueller Code bricht an diesen Anweisungen ab. Die gesamte Funktion sieht wie folgt aus:
function unSetHighlight(index){

if(index < 10)
index = "000" + (index);
else if (index < 100)
  index = "000" + (index);
  else if(index < 1000)
    index = "0" + (index);
    if(index >= 1000)
      index = index;

var mainElm = document.getElementById('active_playlist');
var elmIndex = "";

for(var currElm = mainElm.firstChild; currElm !== null; currElm = currElm.nextSibling){
  if(currElm.nodeType === 1){

  var elementId = currElm.getAttribute("id");

  if(elementId.match(/\b\d{4}/)){

    elmIndex = elementId.substr(0,4);

    if(elmIndex == index){
      var that = currElm;
      //that.style.background = position: relative;
      }
    }
  }
}

clearInterval(highlight);
alert("cleared Interval");
that.style.background = null;

alert("unSet highlight called");
}

das clearInterval funktioniert, aber die Meldung wird nie ausgelöst und der Hintergrund bleibt gleich. Sieht jemand irgendwelche Probleme? Vielen Dank im Voraus...


function unSetHighlight(index){  
  alert(index);  
  if(index < 10)  
    index = "000" + (index);  
    else if (index < 100)  
      index = "000" + (index);  
      else if(index < 1000)  
        index = "0" + (index);  
        if(index >= 1000)  
          index = index;  

    var mainElm = document.getElementById('active_playlist');
    var elmIndex = "";

    for(var currElm = mainElm.firstChild; currElm !== null; currElm = currElm.nextSibling){
      if(currElm.nodeType === 1){

      var elementId = currElm.getAttribute("id");

      if(elementId.match(/\b\d{4}/)){

        elmIndex = elementId.substr(0,4);
        alert("elmIndex = " + elmIndex + "index = " + index);

        if(elmIndex === index){
          var that = currElm;
          alert("match found");
          }
        }
      }
    }

    clearInterval(highlight);
    alert("cleared Interval");
    that.removeAttribute("style");

    //that.style.position = "relative";
    //reColor();
    alert("unSet highlight called");
}

4voto

Shishir Arora Punkte 4908

Verwenden Sie

particular_node.classList.remove("<name-of-class>")

Für natives Javascript

2voto

Almhar Punkte 21

In jQuery können Sie Folgendes verwenden

$(".className").attr("style","");

1voto

Vitalicus Punkte 840

Vollständiges Entfernen des Stils, nicht nur auf NULL setzen

document.getElementById("id").removeAttribute("style")

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X