(Полный код ниже)JQuery Append() не работает для каскадного строки
Это
$('#' + id).parent().append('<div id="pop-up">hello</div>');
делает работу. Но это
$('#' + id).parent().append('<div id="pop-up-' + id + '">hello</div>');
нет.
Тот факт, что первая версия работает позволяет мне предположить, что проблема заключается не в id
переменной ...
Так что полный код
function clickOnElement(id) {
var obj = {};
obj.clicked = String(id);
var jsonData = JSON.stringify(obj);
$.ajax({
type: 'POST',
url: '../db/RequestHandler.ashx',
data: jsonData,
contentType: 'application/json; charset-utf-8',
success: function (response) {
// Add the div for the dialog-box
$('<div>Hello</div>', {
"id": "pop-up" + id
}).appendTo($('#' + id).parent());
},
error: function() {
console.log("request error");
}
});
}
'.append' ожидает элемент, а не строка. Если у вас есть HTML-строка, используйте '.html()' вместо – Rajesh
'.append()' будет работать после загрузки DOM. Загружается родительский div, но одновременно вы добавляете этот элемент, который в то время не был в DOM. попытайтесь добавить после того, как документ готов. –
работает отлично для меня https://jsfiddle.net/gx6mrqr7/ – madalinivascu