我正在使用第三方庫來強制iframe加上一些id,比如說「x」,以從他們的網站加載內容。一旦內容被加載,來自他們網站的HTML包含一個具有相同ID的div - 「x」。我無法更改iframe ID,因爲他們需要這種方式,我無法控制div的ID。如何使用原生JavaScript獲取iframe?請問document.getElementById(「x」)總是返回iframe,因爲這是dom中的第一個元素?DOM上的重複ID - 需要使用原生javascript訪問iframe
感謝您的幫助。
我正在使用第三方庫來強制iframe加上一些id,比如說「x」,以從他們的網站加載內容。一旦內容被加載,來自他們網站的HTML包含一個具有相同ID的div - 「x」。我無法更改iframe ID,因爲他們需要這種方式,我無法控制div的ID。如何使用原生JavaScript獲取iframe?請問document.getElementById(「x」)總是返回iframe,因爲這是dom中的第一個元素?DOM上的重複ID - 需要使用原生javascript訪問iframe
感謝您的幫助。
希望,這個代碼將是任何幫助:)
var frameTag=document.getElementById(iframeid);
if (frameTag.tagName=='IFRAME')
{
//execute your conditions
}
謝謝Lokesh。我也測試過document.getElementById()返回第一個匹配Id的元素,在我的情況下,它總是iframe。 – legendofawesomeness 2012-02-03 20:04:54
很酷..! – 2012-02-03 20:06:23
一個iframe根據不同來源(域)將創建一個嵌套的瀏覽上下文那麼其內容不能從你的腳本,所以檢查服務沒有辦法無意中從內部選擇ID。
對於來自與父文檔相同來源的iframe,您可能需要首先顯式獲取iframe內容,然後搜索如果您想通過該iframe內的該id查找元素。 Here就是一個例子。 jQuery函數'.content()'使這方便。
圖書館要求重複'ID's意味着它寫得很差。如果可以的話,我會轉儲它,或者自己編寫代碼,或者找到其他庫來做你正在做的事情。 – Dennis 2012-02-03 19:55:58
謝謝丹尼斯。我希望我有這樣的選擇..很遺憾不是! :( – legendofawesomeness 2012-02-03 19:59:46