我必须更改iframe中显示的HTML文档中部分文本的样式。
我有一个json文件,其中有应该修改的文本的开始/结束/ id。
我的问题是我无法设置文字范围。
var r = document.createRange();
var node = document.getElementById("file").contentWindow.document.getElementById("d1e152");
r.setStart(node, 0);
r.setEnd(node, 12);
文件是iframe的ID,而 d1e152 是段落的ID。 它返回“TypeError:Range.setStart的参数1不是对象。” r.setStart()行中的错误。
答案 0 :(得分:0)
node
之类的声音为空。这可能是出于众多原因之一,但我猜您在iframe完全加载之前尝试在iframe中检索元素,因此您需要等待{{1}或者一个事件处理程序。
另一个不是您当前问题的问题是,在iframe的文档而不是主文档上创建范围是一个好主意。根据{{3}},它不应该重要,但我确实在旧浏览器中遇到过问题。现在不能记住细节。
window.setTimeout()