2016-04-01 9 views
0

ich ein Array bin Iterieren und ein div on the fly Erstellen Sie wie folgt vor:Anfügen eines div zu einem div erstellt dynamisch

$.each(item,function(k,item2) { 
    html = '<td><div id="test">'+item2.Name +'</div></td>' 

    //For just testing purpose , I am adding a div dynamically as: 
    $("#test").append("<div class='test class'></div>"); 
    }); 

Aber schließlich, wenn ich die HTML-Seite, die neue div mit class = 'test durchsuchen Klasse 'ist überhaupt nicht zu finden. Gibt es etwas, was ich vermisse?

Edit: im HTML-Tag „html“, gibt es mehrere divs, und ich möchte von id auf einen bestimmten div anhängen

nicht ganz sicher, was das Problem ist: aber nach dem html hat erstellt, $("#test").append("<div class='test class'></div>"); funktioniert, aber anhängen mit $ (html) .find() doesnt

+1

Können Sie 'Konsole zugreifen können .log ($ ("# test")) 'und' console.log (Element) '? – AKS

+1

'$ (html) .find ('# test'). Append ("

");' –

+0

Kann es auch sein, dass das div kollabiert ist? Probieren Sie '$ ('. Test.class')' 'in der Konsole aus, nachdem Sie die Funktion ausgeführt haben –

Antwort

0

Sie erstellen das Element mit der ID "test" nicht dynamisch, Sie haben nur in Variable zugewiesen. Bitte versuchen Sie den Code unten

$.each(item,function(k,item2) { 
    html = '<td><div id="test">'+item2.Name +'</div></td>'; 
    $('any existing element class/id').html(html); 
    //For just testing purpose , I am adding a div dynamically as: 
    $("#test").append("<div class='test class'></div>"); 
}); 
2

Als Element ist nicht im DOM angehängt, können Sie es nicht $ Selektor zugreifen. Sie html variable Halteelement in Form von string verwenden können, der Inhalt wird nicht die document sein, aber Sie #test Element, nachdem es Umwickeln mit $

$.each(item, function(k, item2) { 
 
    var html = '<td><div id="test">' + item2.Name + '</div></td>'; 
 
    $(html).find('#test').append("<div class='test class'></div>"); 
 
});

Verwandte Themen