大神看看我这js代码什么问题

var a=10; if(a=10 ){document.getElementById("user").innerHTML="<input type='button' value='登录'/>";}


浏览器F12报错显示图片说明

document.getElementById("user")
没找到id是user的对象

目测js放在网页的最上方了,没有等网页加载完。如果是,就把script放到网页最下方
另外if(a=10 ){应该是if(a==10 ){

这里提示
cannot set property "innerHTML" of null
是说document.getElementById("user")这个获取的对象是null,就是获取不到对象,可能是你的html标签的id有问题

if判断语句那里,if(a=10),相当于直接把10赋值给a,你确定是这样写??应该是if(a==10)

if(a=10)是没问题的,js的特殊性,**你这里的a=10就相当于写了if(a),先给a重新赋值为10,然后判断啊,js中是可以这样写的,表达式也是可以作为条件的(详情请参考w3school)**你这里的问题是你要把js代码改为页面加载后执行。比如**$(function(你的代码));**这个方法页面要引入**jquery**,或者用源生JS的页面加载后的技术,**window.onload=function(){ 你的代码};**但是这种方法是有局限性的,就是你的整个页面所有的加载后执行的代码只能写在这一个function里,如果是比较复杂的js这样就比较乱了,建议使用jquery的方法,因为它不会存在这种问题,无论你写多少个都会执行。

补充一下,源生的JS如果你写多个window.onload=function(){ };它会覆盖掉,只执行一个。具体的覆盖原则忘记了,因为很久没用这个方式了。

user有问题,没有标示

cdom还没初始化完毕。

首先上面的评论说a等于10有问题的没有说错,但是这个错误对你程序报的错误没有影响,因为把10赋值给a得到的逻辑运算结果为永真,所以肯定会执行if语句下面的语句,你的这个错误在于没有找到id为user的对象。用js调试一下吧

anonymous function: cannot set property innerHTML of null

错误就是不能给null设置innerHTML属性,所以你的问题在于document.getElementById("user"),user为null,仔细核对名称是否正确。

此外if(a=10)语法并不错,if(10)始终为真。

看一下你的js是不是页面加载完毕了才执行的,如果是就看看你的id 是不是user 有没有打错的失误 估计就这两个问题 都看一下就好了 还有你的if虽然这样写可以执行 但我感觉最好不要这么写 怎么修改代码 楼上都说过了

anonymous function: cannot set property innerHTML of null

错误就是不能给null设置innerHTML属性,所以你的问题在于document.getElementById("user"),user为null,仔细核对名称是否正确。

此外if(a=10)语法并不错,if(10)始终为真。

 document.addEventListener('load',function(){放入你的代码});
//document.attachEvent('onload',function(){放入你的代码});