2011-10-28 59 views
1

下面的代碼有效,我可以在點擊正文時引發警報。我想要做的是在加載iframe時,自動將iframe中表格的寬度更改爲100%。所以,而不是點擊,我怎麼能改變寬度onload?在iframe中調整src的表格寬度onload

$("iframe[name=myheader]").load(function() { 
      var iframe_body = window.myheader.document.getElementsByTagName("body")[0]; 
      $(iframe_body).click(function() { 
       alert("hello, you touched me~"); 
       $(this).find("table").css("width","100%"); 
      }); 

     }); 
+7

框架頁面必須在同一個域中 –

+0

這是在同一個域中。如果我改變.click爲**每個**,它只有在我將警報留在原地時才起作用:就像表格沒有找到,直到出現延遲,可能是因爲iframe中的實際內容未完全呈現。 – Rob

+7

爲什麼不把調整大小代碼放在包含表格本身的頁面中呢? –

回答

0

將這個代碼放到你的iframe的文檔:)

$(document).ready(function(){ 
$("table").css("width","100%"); 
}); 

OLD ------------------

iframe load()函數僅在iframe完成加載時觸發,因此您可以刪除click()事件並調整其大小。

$("iframe[name=myheader]").load(function() { 
      var iframe_body = window.myheader.document.getElementsByTagName("body")[0]; 
      //$(iframe_body).click(function() { 
       alert("hello, you touched me~"); 
       $(this).find("table").css("width","100%"); 
      //}); 

     }); 
+0

不起作用,請參閱上面我添加的註釋。 – Rob

+0

Moe它是一個動態創建的iframe,因此添加$(「table ... in doc ready」不起作用。 – Rob

0

您可以嘗試iframe的onload事件。例如,如果你的iframe是這樣的

<iframe id="frameElem" width="100%" height="100%" onload="frameLoaded(); return false" /> 

現在在javascript代碼,

function frameLoaded(){ 
    $('#frameElem').contents().find('table').css("width","100%"); 
    }