[英]How to Fix “Uncaught TypeError: Cannot read property 'value' of null” error?
[英]How to fix “Uncaught TypeError: Cannot read property 'click' of null”
我正在开发Chrome扩展程序并收到错误“未捕获的TypeError:无法读取null的属性'click'”。 它可以在控制台中工作,我确保关闭控制台。 我试图在下面的网站上运行它。
https://realtime.demo.sonicwall.com/main.html
popup.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;
popup.html
<body>
<button class="collapsible">Interfaces</button>
<div class="content">
<button onclick="int()" class="collapsible">Interfaces</button>
</div>
</body>
在您的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;
<button class="collapsible">Interfaces</button> <div class="content" id="j1_64_anchor"> <button onclick="int()" class="collapsible">Interfaces</button> </div>
似乎这行代码
function int() {
var source = document.getElementById('j1_64_anchor').click;
}
在dom准备就绪之前被处决。 尝试将其放入DOMContentLoaded
事件
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;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.