为了账号安全,请及时绑定邮箱和手机立即绑定

对象的属性设置问题

tr是创建的行的对象

1.按照下面代码,

tr.lastChild.firstChild.onclick="deleteNode(this);";

tr.onmouseover="this.style.background='yellow'";

tr.onmouseout="this.style.background='#fff'";

console.log("打印tr.lastChild.firstChild.onclick内容:"+tr.lastChild.firstChild.onclick);

console.log("打印tr.onmouseover内容:"+tr.onmouseover);

console.log("打印tr.onmouseout内容:"+tr.onmouseout);

通过console.log输出的都为null,不能正常执行,为什么???


2.按照下面代码

tr.lastChild.firstChild.onclick=function(){

deleteNode(this);

}

tr.onmouseover=function(){

this.style.background="yellow"; 

}

tr.onmouseout=function(){

this.style.background="#fff"; 

}

通过console.log输出的都正常,能够正常执行。


3.通过下列代码

tr.lastChild.firstChild.setAttribute("onclick","deleteNode(this);");

tr.setAttribute("onmouseover","this.style.background='yellow'");

tr.setAttribute("onmouseout","this.style.background='#fff'");

通过console.log输出的都正常,能够正常执行。

正在回答

1 回答

第一个里面目测是无法将字符串类型的对象隐式转换为事件的类型。或者说程序并不知道你给OnClick事件赋值的结果是什么。

第二个,很明显的通过调用函数来执行你需要执行的删除操作,没有问题。

第三个,通过设置节点的属性,类似与你在创建节点的时候,就已经在里面写入onclick="deleteNode(this)"。

是我的一些看法,希望对你有所帮助。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468045    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

对象的属性设置问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信