1001 * попробовать *
div.load(url, function() {
div.children().each(function(){
// what do expect this to be below?
// this will be a child element here, so need
// to wrap to get a jQuery object
$(this).datepicker({dateFormat:"yy-m-d"});
});
div.appendTo("#foos_container");
});
В свете ваших правок попробуйте следующее.
add_foo = function(url) {
// Clickable
var numfoos = $("#foos_container > div.foo").length + 1;
var foo_id = numfoos + "-foo";
var div = $("<div></div>").attr("id",foo_id).addClass("foo");
div.appendTo("#foos_container").load(url, function() {
div.children().each(function(){
// what do expect this to be below?
// this will be a child element here, so need
// to wrap to get a jQuery object
$(this).datepicker({dateFormat:"yy-m-d"});
});
};
Что вы ожидаете от this
в div.children().each( ...)
?
EDIT:
Вот Рабочая демонстрация , которая имитирует то, что, по моему мнению, вы пытаетесь достичь Добавьте / edit к URL, чтобы увидеть код и поиграть с ним (пример ниже).
<a id="add">Click me to add a div via AJAX Load</a>
<div id="foos_container"></div>
$(function() {
$('#add').click(function() {
var numfoos = $("#foos_container > div.foo").length + 1;
var foo_id = numfoos + "-foo";
var div = $("<div></div>").attr("id",foo_id).addClass("foo");
div.appendTo("#foos_container").load("http://jsbin.com/ejalo", function() {
div.children().each(function(){
$(this).datepicker({dateFormat:"yy-m-d"});
});
});
});
});