Я не хочу внешний тег div? как добавить свой ответный текст только с его кодами.
Это работает, но результат не тот, который я хотел.
var newdiv = document.createElement("div");
newdiv.innerHTML = xhr.responseText;
document.getElementById("middleright").replaceChild(newdiv, document.getElementById("moreoption"));
middleright является родителем moreoptions. после того, как это выполнено, middleright становится родителем div вместо текста ответа.
Я пытался это сделать.
document.getElementById("middleright").innerhtml += xhr.responseText;
Это то, что я ищу, но оно вставляется только в конец innerhtml, я хочу вставить его посередине.
Есть ли альтернатива? Я гуглю в течение нескольких дней, прежде чем отправить этот вопрос. Спасибо за помощь.
UPDATE
есть проблема, посмотрите на это
var newdiv = document.createElement("div");
newdiv.innerHTML = xhr.responseText;
var next = document.getElementById("moreoption").nextSibling;
document.getElementById("middleright").removeChild(document.getElementById("moreoption"));
var els = newdiv.childNodes;
var len = els.length;
for (var i=0; i<5; i++) {
next.parentNode.insertBefore(els[i],next);
}
будет выводиться только до els [2], я не знаю почему? но когда я делаю это.
for (var i=5; i>0; i--) {
next.parentNode.insertBefore(els[i],next);
}
выводит все, но в неправильном направлении.
UPDATE
var addpoint = document.getElementById("moreoption").nextSibling;
var newdiv = document.createElement("div");
newdiv.innerHTML = xhr.responseText;
var next, el = document.getElementById("moreoption");
var parent = el.parentNode;
parent.removeChild( el );
el = newdiv.firstChild;
do {
next = el.nextSibling
parent.insertBefore(el,addpoint);
} while( el = next );