用不可替换的 InnerHTML 替换 document.write
Posted
技术标签:
【中文标题】用不可替换的 InnerHTML 替换 document.write【英文标题】:Replacing document.write with a non-replacing InnerHTML 【发布时间】:2014-05-07 09:59:57 【问题描述】:我目前正在使用 import.io 进行网络抓取信息。我正在从天气网站上抓取数据,以显示统计项目的单个邮政编码的不一致范围。
document.write("<i>" + k + "</i>" + "<p>" + d.data[k] + "</p>");
我的问题是这个 document.write 擦除了我所有的页面内容并用纯 json 数据替换它。我尝试使用innerhtml,但我只得到了爬虫的最后一个数据结果。
是否有某种方法可以实现不会覆盖先前写入的数据的 appendChild 或 InnerHTML?
参考: http://import.io/data/integrate/#js
【问题讨论】:
document.body.insertAdjacentHTML("beforeend", "<i>" + k + "</i><p>" + data[k] + "</p>")
或document.body.appendChild(document.createElement("i")).textContent = k; document.body.appendChild(document.createElement("p")).textContent = data[k];
感谢工作。再次感谢 Cookie Monster……你是个天才。被这样的问题难住了,我感觉很糟糕。
不客气。很高兴它有帮助。
【参考方案1】:
document.body.insertAdjacentHTML
("beforeend",
"<i>" + k + "</i><p>" + data[k] + "</p>"
)
或
document.body.appendChild
(
document.createElement("i")
).textContent = k;
document.body.appendChild
(
document.createElement("p")
).textContent = data[k];
【讨论】:
以上是关于用不可替换的 InnerHTML 替换 document.write的主要内容,如果未能解决你的问题,请参考以下文章
用点击的 span 标签的 innerHTML 替换占位符值