如何在我的document.getElements中使用obj.init?

时间:2018-12-26 02:33:30

标签: javascript html

我是这个框架的新手,我只是将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);

总而言之,我希望所有javascript的documentobjects。有什么办法吗?

2 个答案:

答案 0 :(得分:1)

我正在打电话,所以无法尝试。

以我的理解,您希望所有dom元素都从Obj继承。

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

可能是这样的:

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

答案 1 :(得分:0)

因此,有人建议使用jquery.each(),所以我尝试了一下,幸运的是,我解决了我的问题。我将分享我的答案,以便任何人都可以看到此帮助

$.each(prods_(this_is_the_array)_, function(index){
    var row = modalTBody_(the_tbody)_.insertRow(index);
});