Stack Overflowで見つけたコードのビットからハッシュした次のJavaScriptがあります(私はJavaScriptの専門家ではありません!):-
var walk_the_DOM = function walk(node, func) {
func(node);
node = node.firstChild;
while (node) {
walk(node, func);
node = node.nextSibling;
}
};
function myFunction() {
var wrapper = document.createElement("pastedHtml");
wrapper.innerHTML = " <pre style=\"font-family: Consolas; background: white; color: black; font-size: 13px\"data-listid> <span style=\"color: blue\" data-listid><</span><span style=\"color: maroon\" data-listid>telerik</span><span style=\"color: blue\" data-listid>:</span><span style=\"color: maroon\" data-listid>EditorTool</span> <span style=\"color: red\" data-listid>Name</span><span style=\"color: blue\" data-listid>=</span><span style=\"color: blue\" data-listid>\"Cut\"</span> <span style=\"color: blue\" data-listid>/></span> </pre>";
walk_the_DOM(wrapper, function(el) {
{
if (typeof el.style != "undefined") {
el.style.color = "None";
}
}
});
document.getElementsByTagName("UL")[0].appendChild(wrapper);
}
私がしたいのは、すべてのスタイル属性の色を「なし」に変更することです。つまり、テキストからすべての色を削除したいと思います。
参照ではなく値渡しと関係があるのではないかと思います。
IEデバッガーを接続しましたが、el.style.color = "None"を設定した後、el.style.colorの値が変更されていないことがわかります。
ここで何が問題になっていますか?
CSSでは、値none
が無効です。(コメントで述べられているように)または(または任意の値)
を使用できます。element.style.color=""
element.style.color="black"
さらに、の代わりにクラスとcssを使用することをお勧めしますelement.style
。
このコード:
<script>
element.style.color = "black";
</script>
このように書くこともできます:
<style>
.black{
color: black;
}
</span>
<script>
element.classList.add("black");
</script>
そして、あなたは簡単に次のようなクラスを削除することができます element.classList.remove("black");
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加