Próbuję zastąpić wartość znacznika stylu elementu. Obecny elementem wygląda następująco:Usuwanie stylów elementów html za pośrednictwem javascript
`<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">`
i chciałbym, aby usunąć wszystkie te rzeczy tak, że styl to stylizowany przez swojej klasie zamiast to styl inline. Próbowałem usunąć element.style; i element.style = null; i element.style = ""; bez skutku. Mój bieżący kod łamie się przy tych stwierdzeniach. Cała funkcja wygląda następująco:
funkcji unSetHighlight (indeksu) {
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 działa, ale nieczysto nigdy pożary, a tło pozostaje taka sama. Ktoś widzi jakieś problemy? Z góry dzięki ...
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");
}
Tried removeAttribute ("styl"), wciąż bez powodzenia. Używam setInterval do przełączania kolorów tła, aby (spróbować) stworzyć efekt pulsu. Spróbuję napisać kilka innych klas stylu, aby wypróbować odpowiedź 4. Jakieś inne pomysły? Mój aktualny kod jest zamieszczony poniżej ... – danwoods
Byłoby wspaniale, gdybyś zaakceptował [to] (http://stackoverflow.com/a/1040439/2008111) jako poprawną odpowiedź na to pytanie. – caramba
^To nie jest właściwa odpowiedź , chociaż. –