Javascript 未捕获类型错误:无法设置属性';onclick';空的
我正在创建一个HTML页面,它是使用引导构建的。下面是hello.js文件的最终HTML代码和代码:Javascript 未捕获类型错误:无法设置属性';onclick';空的,javascript,html,css,twitter-bootstrap,Javascript,Html,Css,Twitter Bootstrap,我正在创建一个HTML页面,它是使用引导构建的。下面是hello.js文件的最终HTML代码和代码: document.getElementById(“subm”).onclick=function(){ 警报(“你好世界”); } 计算器 计算器 第一 2号 选择权 + - * / 算计 问题似乎是您正在加载元素之前执行脚本 我假设这个脚本是在创建DOM之前添加的hello.js文件中添加的 这里的解决方案是在DOM就绪后执行脚本,如下所示: window.onload = funct
document.getElementById(“subm”).onclick=function(){
警报(“你好世界”);
}
计算器
计算器
第一
2号
选择权
+
-
*
/
算计
问题似乎是您正在加载元素之前执行脚本
我假设这个脚本是在创建DOM之前添加的hello.js
文件中添加的
这里的解决方案是在DOM就绪后执行脚本,如下所示:
window.onload = function(){
document.getElementById("subm").onclick=function(){
alert("Hello WOrld");
}
}
所有处理上述DOM元素的JavaScript代码都必须在加载DOM后执行
演示:这可能是因为脚本在加载DOM之前运行 试着把脚本放进去
window.onload = function() {
{your code}
}
正如我看到的,您正在使用JQuery,那么使用JQuery的函数为什么要使用javascript呢 以下是您想要的代码:
$(document).ready(function(){
$("#subm").click(function(){
alert("Hello World");
});
});
我有一个类似的问题…对我来说,它与以下代码一起工作
$(document).on('click','#subm',function() {
alert("Hello World");
});
window.onload()并没有解决我的问题,所以我不得不编写代码等待元素加载。您可以这样做:
function waitForLoad(id, callback){
var timer = setInterval(function(){
if(document.getElementById(id)){
clearInterval(timer);
callback();
}
}, 100);
}
waitForLoad("subm", function(){
console.log("load successful, you can proceed!!");
document.getElementById("subm").onclick = function()
{
alert("I got clicked");
}
});
脚本位于何处?另一种可能的解决方法是将
移动到页面底部OK我明白了我的意思,我将javascript文件设置为document.onload=function(){document.getElementById(“subm”).onclick=function(){alert(“Hello WOrld”);}但是当我点击按钮时,它没有显示警报,为什么你能找出它@RiteshMehandiratta将其更改为窗口。onload
将脚本标记移动到页面底部是否被视为良好做法?它对性能或加载有任何影响吗?“window.onload()没有解决我的问题”-然后您遇到了与此问题所问问题不同的问题。OP试图访问的元素的加载没有延迟。window.onload不适用于所有场景,因为您有其他框架覆盖标准窗口。我试图通过添加另一个答案来帮助导航到此页面的用户。考虑我的例子,我使用的是一个角度的JS框架,其中WONDO.NoLoad不起作用,所以如果它有帮助,也不需要投票表决,代码爱好者的回答和我的答案一样,唯一的区别是他使用jQuery,我的解决方案是在标准的JavaScript中。那么,为什么是仇恨?这正是我的工作!没有窗户。谢谢你。欢迎你。特哈斯:D。