小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

獲取/設(shè)置IFRAME內(nèi)對象元素的幾種JS方法

 悟靜 2013-05-16

1。IE專用(通過frames索引形象定位): document.frames[i].document.getElementById('元素的ID');
2。IE專用(通過IFRAME名稱形象定位): document.frames['iframe的name'].document.getElementById('元素的ID');

  以上方法,不僅對IFRAME適用,對FRAMESET里的FRAME也同樣適用。IE雖然擅于自定標準,但不得不說它很多的設(shè)計還是比較體現(xiàn)人性化的。比如這個,它在同樣支持下面的標準路徑之外,提供了一個簡潔且形象化的寫法。

 

3。通用方法: document.getElementById('iframe的ID').contentWindow.document.getElementById('元素的ID')
  注意要加上contentWindow,往往出現(xiàn)問題都是因為這個容易被忽略,它代表FRAME和IFRAME內(nèi)部的窗口對象。

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

 

4。通用方法的簡寫:

  對document.getElementById定義一個短名稱,稍微熟悉JS的朋友都知道這個方法。在這里它可以發(fā)揮雙倍的作用,如下例:

[javascript] view plaincopy?
  1. var $id=document.getElementById;  
  2. $Id('iframe的ID').contentWindow.$Id('元素的ID')  //這樣就得到了要取的對象  

 

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

 

轉(zhuǎn)載請注明來自趙亮(theforever on csdn)的博客。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多