如何修复“未捕获的类型错误:无法读取 null 的属性‘点击’”

Jas*_*ens 6 javascript google-chrome-extension

我正在开发 Chrome 扩展程序并收到错误“未捕获的类型错误:无法读取 null 的属性 'click'”。它在控制台中工作,我确保关闭控制台。我正在尝试在下面的站点上运行它。

https://realtime.demo.sonicwall.com/main.html

弹出窗口.js

document.addEventListener('DOMContentLoaded', function () {
document.querySelector('button').addEventListener('click', int);      
});
function int() {
    var source = document.getElementById('j1_64_anchor').click;
}
var coll = document.getElementsByClassName("collapsible");
var i;
Run Code Online (Sandbox Code Playgroud)

弹出窗口.html

<body>
<button class="collapsible">Interfaces</button>
<div class="content">
<button onclick="int()" class="collapsible">Interfaces</button>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)

ran*_*oul 6

在您html中没有带有 id 的元素j1_64_anchor。所以你的代码document.getElementById('j1_64_anchor').click();会失败。

document.addEventListener('DOMContentLoaded', function () {
    
    document.querySelector('button').addEventListener('click', int)
});
  
function int() {
    console.log('calling');
    var source = document.getElementById('j1_64_anchor').click();
}

var coll = document.getElementsByClassName("collapsible");
var i;
Run Code Online (Sandbox Code Playgroud)
<button class="collapsible">Interfaces</button>
<div class="content" id="j1_64_anchor">
<button onclick="int()" class="collapsible">Interfaces</button>
</div>
Run Code Online (Sandbox Code Playgroud)