2010-11-26 56 views
1
function setHeight() { 
    var iframes = parent.document.getElementsByClassName('targetIframe'); 
    for(var i = 0; i < iframes.length; i++) 
    iframes[i].height = document['body'].offsetHeight; 
} 

this answer的變體。如何用jQuery重寫這個javascript函數?

它使用的是IE不支持的getElementsByClassName函數。

如何用jQuery重寫它?

回答

1

它看起來像這樣使用.height()

function setHeight() { 
    $('.targetIframe', parent.document).height(document.body.offsetHeight); 
} 

或爲文字height屬性設置:

function setHeight() { 
    $('.targetIframe', parent.document).attr('height', document.body.offsetHeight); 
} 
+0

如何選擇只有當前被加載的iframe本身?我試過`$(this,parent.document)`,但那不工作。 – ollydbg 2010-11-26 14:56:05

0

只是這種替換第一行:

var iframe = $('.targetIframe'); 
1
function setHeight() { 
    var $iframes = $(parent.document).find('.targetIframe'); 

    $iframes.each(function(i, elem) { 
     $(elem).height($(document.body).innerHeight()); 
    }); 
} 
+0

而這將工作,這裏有很多額外的jQuery對象:) – 2010-11-26 14:27:53