首页 > 解决方案 > 如何在我的 document.getElements 中使用 obj.init?

问题描述

我是这个框架的新手,我只是将我的 javascript/jquery 转换为 ajax。

我有这个代码:

var Obj = {
    Init:function(config){
        this.config = config;
        this.BindEvents();
    },
    BindEvents:function(){
        $this = Obj.config;
        Obj.ReturnArray();
    },
    ReturnArray:function(){
        $this = Obj.config;

        for(x = 0; x < itemNames.length; x++){
            var obj = {itemName:itemNames[x],itemPrice:itemPrices[x]};
            console.log(obj);
            prods.push(obj);
        }

        for(var ctr = 0; ctr < prods.length; ctr++){
            var rows = parseInt(document.getElementById("modalTable").getElementsByTagName("tbody")[0].rows.length);
            var table = document.getElementById("modalTable").getElementsByTagName("tbody")[0];
        }
    }
}

Obj.Init({
    modalTable       : $("#modalTable"),
    mainTable        : $("#mainTable"),
    btnAddToTable    : $("btnAddToTable"),
    mainCellQuantity : $(".mainCellQuantity"),
    mainTBody        : $("#mainTBody")
});

但我想让你使用正在初始化的对象Obj.Init({});

var rows = parseInt(document.getElementById("modalTable").getElementsByTagName("tbody")[0].rows.length);
var table = document.getElementById("modalTable").getElementsByTagName("tbody")[0];

就是这样

var rows = parseInt(modalTable.mainTbody.rows.length);

总而言之,我希望所有的 javascriptdocument都是objects. 有没有办法做到这一点?

标签: javascripthtml

解决方案


我是通过电话所以无法尝试。

据我了解,您希望所有 dom 元素都继承自您的 Obj。

考虑到所有文档对象都继承自 Element,您可以尝试使用您的原型扩展 Element 原型。

它可能是这样的:

Element.prototype = Object.create(Obj.prototype);

推荐阅读