通过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