Javascript在html上更改样式元素

时间:2018-04-10 13:31:39

标签: javascript html css

当我注入document.getElementsByTagName(" body")[0] .style.background =" red&#34 ;;在Firefox的开发者控制台中,背景变为红色。但是当我做webview.loadUrl时(" javascript:document.getElementsByTagName(\" body \")[0] .style.background = \" red \&#34 ;; &#34);在android webview中,其中的整个内容被替换为单词" red"。为什么背景颜色不变,内容被替换?另外,如何使用javascript更改webview中的样式属性?

2 个答案:

答案 0 :(得分:1)

目前还没有,因为目前你没有代码可以强制执行此操作。

这是一个思考如何实现这样的事情的问题。你有一个初始状态,然后你离开那个状态。

有关初始状态的信息丢失了,因此您需要以某种方式保存它。

所以我们可能会使用一个存储初始颜色的变量:

var init_colour = '#000';
function abc() {
    var
    el = document.getElementById("test"),
    colour_to_apply = !el.style.color ? 'red' : init_colour;
    el.style.color = colour_to_apply;
}

请注意我们如何检查要应用的颜色 - 原始状态或更改后的状态(红色)。我们通过查看是否已为其style.color属性赋予了值来执行此操作。如果有,我们知道它已经是红色的(即这不是它第一次被点击)并恢复到初始颜色。如果它没有,这是第一次,或者之前已经恢复,所以我们应用改变的状态(红色)。

答案 1 :(得分:-1)

你可以像这样使用它:

if(document.getElementById("test").style.color === 'red') {
    document.getElementById("test").style.color = "black";
} else {
    document.getElementById("test").style.color = "red";
}