2012-02-03 30 views
0

我正在使用第三方庫來強制iframe加上一些id,比如說「x」,以從他們的網站加載內容。一旦內容被加載,來自他們網站的HTML包含一個具有相同ID的div - 「x」。我無法更改iframe ID,因爲他們需要這種方式,我無法控制div的ID。如何使用原生JavaScript獲取iframe?請問document.getElementById(「x」)總是返回iframe,因爲這是dom中的第一個元素?DOM上的重複ID - 需要使用原生javascript訪問iframe

感謝您的幫助。

+0

圖書館要求重複'ID's意味着它寫得很差。如果可以的話,我會轉儲它,或者自己編寫代碼,或者找到其他庫來做你正在做的事情。 – Dennis 2012-02-03 19:55:58

+0

謝謝丹尼斯。我希望我有這樣的選擇..很遺憾不是! :( – legendofawesomeness 2012-02-03 19:59:46

回答

0

希望,這個代碼將是任何幫助:)

var frameTag=document.getElementById(iframeid); 
    if (frameTag.tagName=='IFRAME') 
    { 
     //execute your conditions 
    } 
+0

謝謝Lokesh。我也測試過document.getElementById()返回第一個匹配Id的元素,在我的情況下,它總是iframe。 – legendofawesomeness 2012-02-03 20:04:54

+0

很酷..! – 2012-02-03 20:06:23

1

一個iframe根據不同來源(域)將創建一個嵌套的瀏覽上下文那麼其內容不能從你的腳本,所以檢查服務沒有辦法無意中從內部選擇ID。

對於來自與父文檔相同來源的iframe,您可能需要首先顯式獲取iframe內容,然後搜索如果您想通過該iframe內的該id查找元素。 Here就是一個例子。 jQuery函數'.content()'使這方便。