通过javascript删除html元素样式

我试图replace元素的内联样式标记值。 当前元素如下所示:

`<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">` 

我想删除所有的风格的东西,所以它的风格,而不是它的内联风格。 我试过删除element.style; 和element.style = null; 和element.style =“”; 无济于事。 我目前的代码在这些声明中断了。 整个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"); } 

clearInterval可以工作,但警报从不会触发,而且背景保持不变。 任何人看到任何问题? 提前致谢…


 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"); } 

你可以这样做: element.removeAttribute("style")

在JavaScript中:

 document.getElementById("id").style.display = null; 

在jQuery中:

 $("#id").css('display',null); 
 getElementById("id").removeAttribute("style"); 

如果你使用jQuery的话

 $("#id").removeClass("classname"); 

class属性可以包含多个样式,因此可以将其指定为

 <tr class="row-even highlight"> 

并执行string操作以从element.className中移除“highlight”

 element.className=element.className.replace('hightlight',''); 

使用jQuery将使这个更简单,因为你有方法

 $("#id").addClass("highlight"); $("#id").removeClass("hightlight"); 

这将使您可以轻松地切换突出显示

使用

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

对于原生的JavaScript