我從一個所見即所得編輯器中獲取對DOM元素的引用。確定一個DOM元素的文檔?
我不明白JS或所見即所得的編輯器(CKEditor),但它似乎是一種指針或其他直接引用駐留在所見即所得編輯器中的IFRAME中的實際元素。至少,當我使用console.log
這個元素時,我會得到一個鏈接,當點擊它時,它會打開Firebug中的實際元素。
有沒有辦法在IFRAME中獲得對該元素的document
對象的引用?
我從一個所見即所得編輯器中獲取對DOM元素的引用。確定一個DOM元素的文檔?
我不明白JS或所見即所得的編輯器(CKEditor),但它似乎是一種指針或其他直接引用駐留在所見即所得編輯器中的IFRAME中的實際元素。至少,當我使用console.log
這個元素時,我會得到一個鏈接,當點擊它時,它會打開Firebug中的實際元素。
有沒有辦法在IFRAME中獲得對該元素的document
對象的引用?
如果你有DOM元素的引用,你可以使用ownerDocument
屬性:
var ownerDoc = someElement.ownerDocument;
我不知道具體的編輯器,但如果它有一個合理的正常開展的DOM,每個節點(包括您獲取引用的DOM元素)具有引用其父節點的parentNode
只讀屬性。按照parentNode
引用鏈,您將在DOM樹中向上移動,並最終應達到您想要的document
。
(該ownerDocument
財產提供了一個更直接的解決方案,但它並沒有在一些老的瀏覽器如IE 5.5的支持 - 如果你不擔心這樣的「考古」的問題,這很好,但parentNode
作品甚至更廣泛地)。
乾杯亞歷克斯,以及非常好的附加信息。我可以假設IE> 6,所以ownerDocument會爲我做。我會贊成這個,但今天已經沒有選票了。 – 2009-12-25 20:24:45
@Pekka,NP,在任何情況下,我都會被罰款一天;-)。是的,大多數人不必擔心IE <6了(擔心IE6在一般情況下已經夠糟糕了;-),但是不知道那個編輯器我認爲它的DOM可能是基於古老的瀏覽器,所以我提供了「堅如磐石」的解決方案以防萬一;-) – 2009-12-25 20:38:13
+1快速手指男人:) – gnarf 2009-12-25 20:02:26
工作,謝謝。 – 2009-12-25 20:04:57
不客氣@Pekka,它可以在大多數瀏覽器上沒有問題... http://www.quirksmode.org/dom/w3c_core.html – CMS 2009-12-25 20:06:20