给html元素动态添加属性或方法

js文件

function CheckNull(id)

{

     //DoSomeThing   

}

var CheckNewNull= function(id)

{

    return function(){

        CheckNull(id);

    }

}

Html元素添加方法

//创建一个textarea

std2area=document.createElement("textarea");

//设置属性

std2area.setAttribute("id","member_Task"+position);

std2area.setAttribute("name","member_Task"+position);

//添加方法

std2area.attachEvent("onblur",CheckNewNull("member_Task"+position));

 

如果添加方法写成:std2area.attachEvent("onblur",CheckNull("member_Task"+position));

或者写成std2area.attachEvent("onblur",CheckNull);

那么会出现错误。原因是这样做是将CheckNull("member_Task"+position)的返回值赋给onblur

而不是将函数CheckNull赋给该元素。所以正确的做法是将CheckNull用一个函数返回,如上所示。

 

最后写写添加方法的其它途径:

 

  Std2area.onblur=CheckNull;

  Std2area.setAttribute(“onblur”,CheckNull);

 

 

转自:http://www.cnblogs.com/jingtao/archive/2008/05/11/1192663.html

原文地址:https://www.cnblogs.com/xm_cpppp/p/2424066.html