它清除 div 并向其添加新内容。那么,我将如何更新 DIV?
您的意思是您不想删除 myDiv 的内容并向其中添加更多内容?
document.getElementById("myDiv").innerHTML += result + '<br /> <img src="/images/loading.gif" />';
如果您担心每次innerHTML
更新时将 innerHTML 解析回 DOM 的开销,请将对象附加HtmlImageElement
到 div。
var myDiv = document.getElementById('myDiv');
myDiv.appendChild(imageObj);
这样,现有的myDiv
内容就不必被解析和重新渲染。
var imgUrl = '/images/loading.gif';
var img = document.createElement('img');
img.src = imgUrl;
myDiv.appendChild(img);
createElement 相对于 innerHTML 的优势?
您可以使用以下方法将基于 innerHTML 的方法转换为 appendChild:
result = result + '<img src="' + data.data[i].images.normal + '" /><br /><hr />';
var imgSrc = data.data[i].images.normal; //url of the image
var img = document.createElement('img');
img.src = imgSrc;
var br = document.createElement('br');
var hr = document.createElement('hr');
myDiv.appendChild(img);
myDiv.appendChild(br);
myDiv.appendChild(hr);