读书人

JS 动态批改onclick事件

发布时间: 2012-09-05 15:19:34 作者: rapoo

JS 动态修改onclick事件
目的:新建一个多选框,选中多选框后, 将多选框后的文字加上"line-though"效果

JScript code
newCheckBox.onclick = function()         {             var pig =this.checked;             alert(pig);               pig?this.nextSibling.style.textDecoration="line-through":this.nextSibling.style.textDecoration="none";          }


上面代码alert(pig)输出了, 但是却没有实现我要的效果, 请问是啥原因啊??

[解决办法]
探讨

不好意思, 刚操作错误了;
我是动态创建复选框, 然后再添加的效果,但是实现不了; 我的代码:
JScript code

<html>

<head>
<title>JS实现选中复选框后删除后面文字的效果</title>
</head>

<script type="text/javascript">
var i =0;

function AddCheckBox(……

[解决办法]
this.nextSibling 表示是新创建复选框后面的兄弟节点
parent.appendChild(document.createTextNode("123"+i));
这句话表示在复选框后面增加一个文本节点,也就是不带标签的纯文本,用this.nextSibling方法是得不到这个文本节点的 所以看不到效果。
可以在复选框后面创建一个SPAN节点,这样就可以看到效果

读书人网 >JavaScript

热点推荐