当我注入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中的样式属性?
答案 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";
}