Scope problem in JS: Uncaught TypeError: Object #<Objekt> hat keine Methode "createDocumentFragment'

Ich versuche, mich instrument zur Vereinfachung der Arbeit mit komplexen Netzen der jqGrid, eine Funktion, die Lesen konnten, Systeme der grids, aber sieht wie ich aus Mangel JS-Fähigkeiten für die )

function renderGridSystemRecursively(scheme, container){

//CHILDREN
    if ('children' in scheme && scheme.children.length > 0) {
        scheme.prm.gridPrm.subGrid = true
        scheme.prm.gridPrm.subGridRowExpanded = function (expandedRowContainer_id, parent_dataitem_id) {

            var hiddenAtStart = (scheme.children.length > 1) ? true : false
            for (var i in scheme.children) {
                var child = scheme.children[i]
                if ('scheme' in child) {

//NEXT LINE CAUSES ERROR 
//Uncaught TypeError: Object #<an Object> has no method 'createDocumentFragment'
                    var subcontainer = $('<div style="float: left;"/>',{id:expandedRowContainer_id+'_'+child.subId})
                    container.append(subcontainer)

                    child.scheme.hiddengrid = (child.scheme.hiddengrid == undefined) ? hiddenAtStart : child.scheme.hiddengrid

                    var self = $('#'+subcontainer.attr('id')+'_grid')
                    child.scheme.prm = child.scheme.prmInit(parent_dataitem_id, self)
                    child.scheme.prm.navMode = 'subgrid'
                    renderGridSystemRecursively(child.scheme, subcontainer)
                }
            }
        }
    }
//...

    renderGrid(scheme.prm, container, scheme.prm.navMode)
}

Funktionsdefinition befindet sich im separaten Datei, und steht im globalen scope.
Funktion, die aufgerufen wird, die außerhalb des ready(), aber Fehler accures innerhalb von subGridRowExpanded event-handler, so wie es aussieht, die ich vergeigt habe mit Verschlüssen, kann nicht herausfinden, wie genau.

Ich nicht verwenden, jede andere Bibliothek außer jquery.

InformationsquelleAutor idrozd | 2010-10-05
Schreibe einen Kommentar