獲取 設定IFRAME內物件元素的幾種JS方法

2021-08-25 15:29:09 字數 926 閱讀 2613

1。ie專用(通過frames索引形象定位):document.frames[i].document.getelementbyid('元素的id');

2。ie專用(通過iframe名稱形象定位):document.frames['iframe的name'].document.getelementbyid('元素的id');

以上方法,不僅對iframe適用,對frameset裡的frame也同樣適用。ie雖然擅於自定標準,但不得不說它很多的設計還是比較體現人性化的。比如這個,它在同樣支援下面的標準路徑之外,提供了乙個簡潔且形象化的寫法。

3。通用方法:document.getelementbyid('iframe的id').contentwindow.document.getelementbyid('元素的id')

注意要加上contentwindow,往往出現問題都是因為這個容易被忽略,它代表frame和iframe內部的視窗物件。

但是,很明顯,這種寫法非常要命,太長了。如果要操作一系列裡面的元素,這樣寫起來,實在夠受的,就算用複製貼上**,眼睛看起來也是個問題。

4。通用方法的簡寫:

對document.getelementbyid定義乙個短名稱,稍微熟悉js的朋友都知道這個方法。在這裡它可以發揮雙倍的作用,如下例:

var $id=document.getelementbyid; $id('iframe的id').contentwindow.$id('元素的id') //這樣就得到了要取的物件

在這一點上,我還是喜歡ie的做法,比較呵護。因為微軟不是乙個單獨的瀏覽器開發商,它本身也要大量地編寫開發html/asp等文件,所以比較能夠做到這一點。而其它的瀏覽器開發商,基本只是站在乙個瀏覽器的立場,把最基本的鏈路走通就完事了,很少站在開發者立場去設計出一些類似這樣既簡便又不失語義化的捷徑來。很多人動輒說它們「標準」,在有些地方固然有理,但在有些地方,這種標準也不過是一種冷漠。

List 去掉物件元素

經常需要將list中重複元素去掉,或者判斷兩個list中相同的元素。1 通過set介面,set 不包含滿足e1.equals e2 hashset set new hashset list2 list2.clear list2.addall set 2 普通方法,每個元素在list中進行比較 for...

JavaScript獲取iframe的內容

假設做了乙個iframe為以下 當然,src可以根據自己的需要進行修改。那麼在父網頁中就可以通過以下 獲取子元素內容 var iframe document.getelementbyid childframe var data iframe.contentwindow.document.getele...

js獲取iframe物件

搜尋資料獲取iframe物件可以這樣寫 document.frames iframeid document 或 window.frames iframeid document注 注意 window.frames只可寫成window.frames iframeid 不能寫成window.frames ...