我有一個html頁面,其中有兩個框架集,每個框架集指向不同的html。從其他框架訪問一個框架集中的元素
現在,讓我們說,我有第一個框架集(html)中的文本框和第二個框架集(html)中的按鈕。
任何人都可以請讓我知道如何隱藏文本框,當我點擊按鈕?
我有一個html頁面,其中有兩個框架集,每個框架集指向不同的html。從其他框架訪問一個框架集中的元素
現在,讓我們說,我有第一個框架集(html)中的文本框和第二個框架集(html)中的按鈕。
任何人都可以請讓我知道如何隱藏文本框,當我點擊按鈕?
沒有測試,但它應該是這樣的(在你的按鈕的onclick處理程序):
parent.frames[1].document.getElementByid('mytextfield').style.display = 'hidden';
// ^^^ here you could also access the frame by its name using ['mysecondframe']
您可以有問題的框架的document
對象通過getElementById
函數訪問元素(請注意,我們使用目標框架的document
,而不是我們自己的)。您可以按名稱從框架集中獲取框架 —框架名稱將成爲框架集的window
對象的屬性。
實施例(live copy; button frame code):
var textbox = parent.targetFrame.document.getElementById('theTextBox');
textbox.value = "You clicked at " + new Date();
...其中targetFrame
是目標幀的名稱。您也可以使用frames[n]
,其中n
是框架集中框架的索引,但我發現名稱更加健壯。
以上示例已經過測試,適用於Firefox,Chrome和Opera for Linux和IE6 —,因此應適用於各種瀏覽器。
只有在兩個框架位於同一個域中時,纔可以執行上述所有操作。由於瀏覽器security policies,如果幀不在同一個域上,甚至在同一個協議上,它們不能相互交互(javascript是不可能的)。
[javascript:可以訪問不同框架中的對象?](http://stackoverflow.com/questions/987423/javascript-get-access-to-objects-in-different-frame) – 2011-01-19 15:14:02