所以,我有2個幀,並希望從一幀進入元件到另一:的JavaScript的document.getElementById中的其它幀
幀1:
<div id='someId'>...</div>
框架2:
var div=document.getElementById('someId');
div.innerHTML='something';
這在某種程度上在Firefox中不起作用,所以我想確定一下,我可以通過它的ID訪問另一個框架中的元素嗎?
所以,我有2個幀,並希望從一幀進入元件到另一:的JavaScript的document.getElementById中的其它幀
幀1:
<div id='someId'>...</div>
框架2:
var div=document.getElementById('someId');
div.innerHTML='something';
這在某種程度上在Firefox中不起作用,所以我想確定一下,我可以通過它的ID訪問另一個框架中的元素嗎?
您可以通過使用
window.frames["framename"]
參照其他幀,然後可以使用
window.frames["framename"].document.getElementById ("yourelementid");
的問題可能是當前幀你是指在DOM元素。如果window.frames['framename']
不起作用,請嘗試parent.frames['framename']
訪問頂級框架。
if(parent.frames && parent.frames['framename']) {
var elem = parent.frames['framename'].document.getElementById(...);
// etc
}
爲我工作!謝謝! – thsieh 2015-07-29 21:04:21
我是有JS的版本問題,但能夠使用這些實例的工作jQuery的版本:
var obj = $('#yourelementid', parent.frames["framename"].document);
或者,如果你喜歡嘗試自己的運氣,你可以只使用一個數字參數。
window.frames[0].document
所以,沒有選項,瀏覽器將發現第一個可用的元素與所需的ID在該框架駐留不管? – 2009-11-27 09:51:19
@as:'getElementByid'被限制在查看它是一個方法的'document'對象。記住一個框架實際上是一個單獨的'window'對象,並且對'window'->'document'層次結構的檢查應該明確爲什麼一個'document'上的方法不能檢查不同的'窗口'。 – NickFitz 2009-11-27 10:18:01
它在chrome中不是一無是處,'window.frames ['framename']。document'裏面沒有東西。我的意思是'windows.franes ['framename']。ducumnet.getElementById(...)...''結果'Uncaught TypeError:無法調用未定義錯誤的方法'getElementByName'。 – 2013-08-06 19:56:20