我目前正在尝试隐藏页面上可见的按钮,同时显示另一个自动隐藏的按钮(两者都在页面上,我不添加新按钮,只是更改可见性)。
这就是现在的样子:
<div class="myAwesomeButtons">
<button id="first_button" class="blue_button inset_button" style="">First</button>
<button id="second_button" class="green_button inset_button" style="display: none;">Second</button>
<button id="third_button" class="other_button">Third</button>
</div>
我正在尝试删除第一个按钮,并删除第二个按钮上的style
属性。如何在Chrome扩展中使用JavaScript实现这一点?
我已经把manifest.json文件整理好了,但我不知道如何处理剩下的
这是我尝试过的,但我不确定我做错了什么:
function fixButtons() {
document.getElementsByClassName("myAwesomeButtons")[0].style.visibility='hidden';
document.getElementsByClassName("myAwesomeButtons")[1].style.visibility='visible';
}
fixButtons();
function fixButtons() {
var buttonGroup = document.getElementsByClassName("myAwesomeButtons")[0].getElementsByTagName("button");
buttonGroup[0].style.visibility='hidden';
buttonGroup[1].style.visibility='visible';
}
您正在混合display
和visibility
属性。
我尽量避免使用getElementsByClass
,因为它不适用于IE。不过我知道这是Chrome的扩展,所以它可以工作。但是,由于每个按钮都有一个ID,所以我只使用getElementById
。
尝试
function fixButtons() {
var button1 = document.getElementById("first_button");
button1.style.display= "none";
var button2 = document.getElementById("second_button");
button2.style.display= "inline";
}