日期:2014-05-16  浏览次数:20379 次

js自定义对象如何关联dom
比如,我自定义一个对象

function MyObject(){
this.f1 = function(form){
//form这里进行一些操作
       //这里直接使用this来进行操作而不是使用传进来的参数form
}
....
}

这个自定义对象怎样才能作为DOM Form来运行,也就是说,MyObject其实是一个Form的子类型。拥有Form的函数,属性。而不是以传参的形式。
用prototype,call,apply,还是其他方法来做。最好举个例子,谢谢

------解决方案--------------------
是这样么?
<div id="aaa"></div>
<script type="text/javascript">
function MyObject(dom){
this.dom = dom;
this.f1 = function(s){
this.dom.innerHTML = s;
}
}
var d = document.getElementById("aaa");
var o = new MyObject(d);
o.f1("1111");
</script>


------解决方案--------------------
通过createElement动态生成个form元素作为你对象的一个属性 之后操作这个form直接操作这个属性试试
------解决方案--------------------
楼主是要做封装吗?是不是要封装一个通用的方法来操作form标签?
------解决方案--------------------
function cf(){
    var f = document.createElement('FORM');
    for(var k in cf.prototype){
        f[k] = cf.prototype[k];
    }
    return f;
}
cf.prototype = {
     myname:function(){
        alert(this.tagName);
     }
}

我记得上个月回答过一模一样的问题