我从WYSIWYG编辑器中获取对DOM元素的引用。
我还不了解JS和WYSIWYG编辑器(CKEditor),但它似乎是一个指针或其他直接引用驻留在WYSIWYG编辑器中的IFRAME中的实际元素。至少,当我console.log
元素时,我得到一个链接,当点击它时,会打开Firebug中的实际元素。
有没有办法在IFRAME中获取对此元素的document
对象的引用?
答案 0 :(得分:3)
如果您有DOM元素引用,则可以使用ownerDocument
属性:
var ownerDoc = someElement.ownerDocument;
答案 1 :(得分:1)
我不知道那个特定的编辑器,但如果它有一个相当正常的DOM实现,每个节点(包括你获得引用的DOM元素)都有一个parentNode
只读属性,引用其父节点。通过跟踪parentNode
引用链,您将在DOM树中向上移动,并最终到达您想要的document
。
(ownerDocument
属性提供了更直接的解决方案,但在IE 5.5等一些旧浏览器中不支持 - 如果你不必担心这样的“考古”问题,那很好,但是parentNode
的工作范围更广泛。)