Chrome扩展:显示&隐藏元素

Chrome Extension: Displaying & Hiding Elements?

本文关键字:隐藏 元素 amp 扩展 显示 Chrome      更新时间:2023-09-26

我目前正在尝试隐藏页面上可见的按钮,同时显示另一个自动隐藏的按钮(两者都在页面上,我不添加新按钮,只是更改可见性)。

这就是现在的样子:

<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';
}

您正在混合displayvisibility属性。

我尽量避免使用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";
}